]> git.nbdom.net Git - nb.git/commitdiff
/opt/nb/etc/profile.d/nb.sh
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Sat, 31 Aug 2019 01:50:13 +0000 (02:50 +0100)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Sat, 31 Aug 2019 01:50:13 +0000 (02:50 +0100)
etc/profile.d/nb.sh

index 5c5598579a7b2cc85f4a1d3a5d6aafcab37f29e5..78c15841340acaf490d926fd23d8c157f5fbf914 100644 (file)
@@ -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