fix for older git versions
authorChris Koeritz <fred@gruntose.com>
Sun, 7 Jan 2018 17:48:41 +0000 (12:48 -0500)
committerChris Koeritz <fred@gruntose.com>
Sun, 7 Jan 2018 17:48:41 +0000 (12:48 -0500)
checking the version so we don't try to use autostash before it is available.

scripts/rev_control/version_control.sh

index a6ac077de371483428a004ddf6b364542aee0328..a981b59c1f91a337339bc0d1ccc8722783acc280 100644 (file)
@@ -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"