]> git.nbdom.net Git - nb.git/commitdiff
bin/nb-update
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Wed, 11 Aug 2021 21:58:07 +0000 (23:58 +0200)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Wed, 11 Aug 2021 21:58:07 +0000 (23:58 +0200)
bin/nb-update

index 1f64ec9b943ea1e69c0b2600f1891866f3aaa9f4..cd8c3b59e56e54c5f7d8307acc626e66b0d64e84 100755 (executable)
@@ -84,6 +84,7 @@ for dir in $(nb_repos); do
        #
        # Pull
        #
+       ex_repo=0
        echo ">Pull $name branch=$branch user=$user path=$dir"
 
        cmd="${cmd}GIT_SSH=$GIT_SSH cd \"$dir\" && git pull"
@@ -92,9 +93,9 @@ for dir in $(nb_repos); do
        if [ 1 = 1 ] && ! git_conn_check; then
                echo
        elif [ "$USER" = "$user" ]; then
-               sh -c "$cmd"
+               bash -c "$cmd"
        elif [ "$USER" = "root" ]; then
-               su $user -c "$cmd"
+               su $user -c "$cmd"
        else
                echo "Wrong user current user=$USER repo user=$user"
                false
@@ -104,8 +105,10 @@ for dir in $(nb_repos); do
        #
        # *-install
        #
+       ex_cmd_root=0
        if [ "$ex_cmd" != "0" ]; then
-               ex=$ex_cmd && echo ">err $ex_cmd"
+               ex_repo=$ex_cmd
+               echo ">err $ex_cmd"
 
        else
                cmd_root="true"
@@ -113,13 +116,17 @@ for dir in $(nb_repos); do
                [ -x bin/$name-install ] && cmd_root="$cmd_root && echo '  >$name-install' && bin/$name-install|sed 's/^/    /'"
                if [ "$cmd_root" != "true" ]; then
                        eval "$cmd_root"
-                       ex=$?
-                       [ "$ex" -gt "0" ] && echo ">err"
+                       ex_cmd_root=$?
+                       if [ "$ex_cmd_root" -gt "0" ]; then
+                               ex_repo=$ex_cmd_root
+                               echo ">err $ex_cmd_root"
+                       fi
                fi
 
        fi
 
-       [ "$ex" = "0" ] && ex="$(git status --short &> /dev/null; echo $?)"
+       [ "$ex_repo" = "0" ] && ex_repo="$(git status --short &> /dev/null; echo $?)"
+       [ "$ex_repo" = "0" ] || ex=$ex_repo
 
        echo
        echo "  >Post repo infos"
@@ -128,7 +135,7 @@ for dir in $(nb_repos); do
                nb_api_post_host_info "$preff.path" "$dir"
                nb_api_post_host_info "$preff.branch" "$branch"
                nb_api_post_host_info "$preff.url" "$(git remote get-url origin)"
-               nb_api_post_host_info "$preff.exit_code" "$ex"
+               nb_api_post_host_info "$preff.exit_code" "$ex_repo"
        ) 2>/dev/null | sed -E -e 's/^/    /; s/'$'\t''/: /'
        echo