From c859a0445186ba8cb1aa1a7354e4c5b9de7cc0c3 Mon Sep 17 00:00:00 2001 From: Chris Koeritz Date: Sun, 7 Jan 2018 12:48:41 -0500 Subject: [PATCH] fix for older git versions checking the version so we don't try to use autostash before it is available. --- scripts/rev_control/version_control.sh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/scripts/rev_control/version_control.sh b/scripts/rev_control/version_control.sh index a6ac077d..a981b59c 100644 --- a/scripts/rev_control/version_control.sh +++ b/scripts/rev_control/version_control.sh @@ -11,6 +11,16 @@ source "$FEISTY_MEOW_SCRIPTS/tty/terminal_titler.sh" ############## +gitvertest="$(git version | sed -e 's/git version [0-9]\.//' | sed -e 's/\.0$//' )" +echo gitvertest is $gitvertest +if [[ $gitvertest > 9 ]]; then + # we believe auto-stash is not available until 2.9, but we are sure it was missing + # on ubuntu xenial with git 2.7.4. + PULL_ADDITION='--rebase --autostash' +fi + +############## + # the maximum depth that the recursive functions will try to go below the starting directory. export MAX_DEPTH=5 @@ -394,7 +404,7 @@ function do_careful_git_update() remote_branch_info=$(git ls-remote --heads origin $bran 2>/dev/null) if [ ! -z "$remote_branch_info" ]; then # we are pretty sure the remote branch does exist. - git pull --rebase --autostash origin "$bran" | $TO_SPLITTER + git pull $PULL_ADDITION origin "$bran" | $TO_SPLITTER # we may want to choose to do fast forward, to avoid crazy multiple merge histories # without any changes in them. --no-ff promote_pipe_return 0 @@ -408,7 +418,7 @@ function do_careful_git_update() # now pull down any changes in our own origin in the repo, to stay in synch # with any changes from others. - git pull --rebase --autostash --all | $TO_SPLITTER + git pull $PULL_ADDITION --all | $TO_SPLITTER #is the above really important when we did this branch already in the loop? #it does an --all, but is that effective or different? should we be doing that in above loop? # --no-ff @@ -450,7 +460,7 @@ function do_update() elif [ -d ".git" ]; then if test_writeable ".git"; then $blatt - git pull --rebase --autostash 2>&1 | grep -v "X11 forwarding request failed" | $TO_SPLITTER + git pull $PULL_ADDITION 2>&1 | grep -v "X11 forwarding request failed" | $TO_SPLITTER #ordinary pulls should be allowed to do fast forward: --no-ff promote_pipe_return 0 test_or_die "git pull of origin" -- 2.34.1