чување 7e5f062a8d4d380569a97557eb9e156728564b85 родитељ 6a9e32277b488f303608310bcf8a1eef4d8135ff Аутор: Страхиња Радић <contact@strahinja.org> Датум: Thu, 17 Aug 2023 12:02:28 +0200 Avoid stat in redo scripts Signed-off-by: Страхиња Радић <contact@strahinja.org> Diffstat:
| M | date.do | | | 13 | ++++++++----- |
| M | version.do | | | 9 | ++++++--- |
измењених датотека: 2, додавања: 14(+), брисања: 8(-)
diff --git a/date.do b/date.do @@ -1,13 +1,16 @@ FALLBACKDATE=${FALLBACKDATE:-unknown} -user=$(stat -c %U .) -e_user=$(id -un) +user=$(unalias ls >/dev/null 2>&1 || true; \ + LC_ALL=C command ls -nd . | LC_ALL=C awk '{print $3}') +e_user=$(id -u) +user_s=$(LC_ALL=C awk 'BEGIN{FS=":"}{if ($3=="'$user'") { print $1}}' \ + </etc/passwd) if [ -d .git ] && command -v git >/dev/null 2>&1; then if [ "$e_user" = "$user" ]; then env LC_ALL=C git log --format=format:%cd \ - --date=format:"%d %b %Y" -1 @ >$3 + --date=format:"%B %d, %Y" -1 @ >$3 else - su "${user}" -c 'env LC_ALL=C git log --format=format:%cd '\ -'--date=format:"%d %b %Y" -1 @' >$3 + su "${user_s}" -c 'env LC_ALL=C git log --format=format:%cd '\ +'--date=format:"%B %d, %Y" -1 @' >$3 fi echo >>$3 else diff --git a/version.do b/version.do @@ -1,11 +1,14 @@ FALLBACKVER=${FALLBACKVER:-unknown} -user=$(stat -c %U .) -e_user=$(id -un) +user=$(unalias ls >/dev/null 2>&1 || true; \ + LC_ALL=C command ls -nd . | LC_ALL=C awk '{print $3}') +e_user=$(id -u) +user_s=$(LC_ALL=C awk 'BEGIN{FS=":"}{if ($3=="'$user'") { print $1}}' \ + </etc/passwd) if [ -d .git ] && command -v git >/dev/null 2>&1; then if [ "$e_user" = "$user" ]; then git describe 2>/dev/null | sed 's/^v//' >$3 else - su "${user}" -c 'git describe' 2>/dev/null | sed 's/^v//' >$3 + su "${user_s}" -c 'git describe' 2>/dev/null | sed 's/^v//' >$3 fi else echo $FALLBACKVER >$3