From: Nicolas Boisselier Date: Sat, 31 Aug 2019 01:50:13 +0000 (+0100) Subject: /opt/nb/etc/profile.d/nb.sh X-Git-Url: https://git.nbdom.net/?a=commitdiff_plain;h=2439a768966067a107b07886a8b18dc0014f32b4;p=nb.git /opt/nb/etc/profile.d/nb.sh --- diff --git a/etc/profile.d/nb.sh b/etc/profile.d/nb.sh index 5c559857..78c15841 100644 --- a/etc/profile.d/nb.sh +++ b/etc/profile.d/nb.sh @@ -27,15 +27,20 @@ nb_repos_status() { local status i branch local ret=0 local sav_pwd=${PWD:-$(pwd)} - for i in $(nb_repos); do - cd "$i" || continue - - for branch in $(git branch | sed -E 's/^[\* ]+//'); do - status=$(git status --short --branch "$branch"|grep -v '^#'|sed 's/^/ /') || continue - [ -n "$status" ] && status=$'\n'"$status" && ret=1 - printf "%s %s\n" "$i [$branch]" "$status" - done - + for i in ${@:-$(nb_repos)}; do + cd "$i" || continue + local branch_orig=$(git branch | awk '/^\*/{print $2}') + [ -z "$branch_orig" ] && continue + + for branch in $(git branch | sed -E 's/^[\* ]+//'); do +# NB 31.08.19 TODEL need checkout status=$(git status --short --branch "$branch"|grep -v '^#'|sed 's/^/ /') || continue + git checkout --quiet "$branch" || continue + status=$(git status --short | grep -v '^#'|sed 's/^/ /') || continue + [ -n "$status" ] && status=$'\n'"$status" && ret=1 + printf "%s %s\n" "$i [$branch]" "$status" + done + + git checkout --quiet "$branch_orig" done cd "$sav_pwd" return $ret