чување f46fa9dce6c1e331b19825dac3c1b3fb7c2a7ae3 родитељ e472a36f5ea77dc4adfc3e1813b0865583160285 Аутор: Страхиња Радић <sr@strahinja.org> Датум: Sun, 8 Sep 2024 10:13:59 +0200 lib/make{date,version}: Workaround cropped usernames in ls output Diffstat:
| M | lib/makedate | | | 8 | ++++++-- |
| M | lib/makeversion | | | 10 | +++++++--- |
измењених датотека: 2, додавања: 13(+), брисања: 5(-)
diff --git a/lib/makedate b/lib/makedate @@ -26,8 +26,12 @@ if [ -d .got ] && command -v got >/dev/null 2>&1; then exit }' >date.new elif [ -d .git ] && command -v git >/dev/null 2>&1; then - user=$(unalias ls >/dev/null 2>&1 || true; \ - command ls -ld . | awk '{print $3}') + user=$(getent passwd "$(unalias ls >/dev/null 2>&1 || true; \ + command ls -lnd . | awk '{print $3}')" | awk -F: '{print $1}') + if [ -z "$user" ]; then + printf "$0: error: Cannot determine owner of %s" "$(pwd)" >&2 + exit 1 + fi e_user=$(id -un) if [ "$e_user" = "$user" ]; then git log --format=format:%cd \ diff --git a/lib/makeversion b/lib/makeversion @@ -33,13 +33,17 @@ if [ -d .got ] && command -v got >/dev/null 2>&1; then elif [ -d .git ] && command -v git >/dev/null 2>&1; then LC_ALL=C export LC_ALL - user=$(unalias ls >/dev/null 2>&1 || true; \ - command ls -ld . | awk '{print $3}') + user=$(getent passwd "$(unalias ls >/dev/null 2>&1 || true; \ + command ls -lnd . | awk '{print $3}')" | awk -F: '{print $1}') + if [ -z "$user" ]; then + printf "$0: error: Cannot determine owner of %s" "$(pwd)" >&2 + exit 1 + fi e_user=$(id -un) if [ "$e_user" = "$user" ]; then git describe 2>/dev/null | sed 's/^v//' >version.new else - su "${user}" -c 'git describe' 2>/dev/null | + su "$user" -c 'git describe' 2>/dev/null | sed 's/^v//' >version.new fi else