diff options
author | Raymaekers Luca <raymaekers.luca@gmail.com> | 2023-11-19 16:30:21 +0100 |
---|---|---|
committer | Raymaekers Luca <raymaekers.luca@gmail.com> | 2023-11-19 16:30:21 +0100 |
commit | ac82416ba14d4cfc2f47ab1d607501bfd899781f (patch) | |
tree | ac0ecd986284f5ae73b413143739281b9f8577bd /bin/extra/supd | |
parent | ff3a8bb2d62f5a7e1759eb3d9e0834f4396e833d (diff) | |
parent | 822f8dbf4db697c7a2bfbd675374bfaa7080ce82 (diff) |
Merge branch 'main' of /var/git/dotfiles
Diffstat (limited to 'bin/extra/supd')
-rwxr-xr-x | bin/extra/supd | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/bin/extra/supd b/bin/extra/supd index 48638bd..9a5ce0c 100755 --- a/bin/extra/supd +++ b/bin/extra/supd @@ -7,7 +7,7 @@ then >&2 cat <<-EOF usage: supd Update dirs in current dir - ls ~/projects | supd Update dirs read from stdin + ... | supd Update dirs read from stdin supd -h Show help EOF exit @@ -17,16 +17,22 @@ fi for dir in $dirs do - printf '%s:' "$dir" | >&2 sed "s#$HOME#~#" ( cd "$dir" || return + # is git dir + if ! git rev-parse > /dev/null 2>&1 + then + printf 'x\n' + exit + fi + printf '%s: ' "$dir" | >&2 sed "s#$HOME#~#" git "${1:-fetch}" > /dev/null 2>&1 && - printf ' o' || - printf ' x' + printf 'o' || + printf 'x' # Show remote state - printf '%s %s\n' "$(git status --short 2> /dev/null | - awk 'NR==1 {print $1}')" "$(git branch -v 2>/dev/null | - awk -F '[][]' '/^\*/ {print $2}')" | - sed 's/ahead/↑ /;s/behind/↓ /;s/[^↓↑]*/ /g' + printf ' %s%s\n' "$(git status --short 2> /dev/null | + awk 'NR==1 {print "(" $1 ")"}')" "$(git branch -v 2>/dev/null | + awk -F '[][]' '/^\*/ {print $2}' | + sed 's/ahead/↑ /;s/behind/↓ /;s/[^↓↑]*//g')" ) done |