forked from ungleich-public/cdist
Merge branch 'fix/type/__git/numeric-owner' into 'master'
__git: Fix if --owner / --group is numeric See merge request ungleich-public/cdist!987
This commit is contained in:
commit
c981f654f1
2 changed files with 34 additions and 6 deletions
|
@ -1,5 +1,19 @@
|
|||
#!/bin/sh
|
||||
#!/bin/sh -e
|
||||
|
||||
destination="/$__object_id/.git"
|
||||
destination="/${__object_id:?}/.git"
|
||||
|
||||
stat --print "%G" "${destination}" 2>/dev/null || exit 0
|
||||
# shellcheck disable=SC2012
|
||||
group_gid=$(ls -ldn "${destination}" | awk '{ print $4 }')
|
||||
|
||||
# NOTE: +1 because $((notanum)) prints 0.
|
||||
if test $((group_gid + 1)) -ge 0
|
||||
then
|
||||
group_should=$(cat "${__object:?}/parameter/group")
|
||||
|
||||
if expr "${group_should}" : '[0-9]*$' >/dev/null
|
||||
then
|
||||
printf '%u\n' "${group_gid}"
|
||||
else
|
||||
printf '%s\n' "$(id -u -n "${group_gid}")"
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -1,5 +1,19 @@
|
|||
#!/bin/sh
|
||||
#!/bin/sh -e
|
||||
|
||||
destination="/$__object_id/.git"
|
||||
destination="/${__object_id:?}/.git"
|
||||
|
||||
stat --print "%U" "${destination}" 2>/dev/null || exit 0
|
||||
# shellcheck disable=SC2012
|
||||
owner_uid=$(ls -ldn "${destination}" | awk '{ print $3 }')
|
||||
|
||||
# NOTE: +1 because $((notanum)) prints 0.
|
||||
if test $((owner_uid + 1)) -ge 0
|
||||
then
|
||||
owner_should=$(cat "${__object:?}/parameter/owner")
|
||||
|
||||
if expr "${owner_should}" : '[0-9]*$' >/dev/null
|
||||
then
|
||||
printf '%u\n' "${owner_uid}"
|
||||
else
|
||||
printf '%s\n' "$(id -u -n "${owner_uid}")"
|
||||
fi
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue