Only cherry-pick if really there is something to do.
[jprojects-scripts.git] / pull-stick.sh
index a0bd4e9dc328812291792f1b098fc44cd92eb020..b417ff1faad3ede91744e4b35e9bb978612cebd1 100755 (executable)
@@ -11,30 +11,39 @@ for project in ${LIST}; do
 
        cd "${JPROJECTS_HOME}/${project}" || exit 255
 
+       if [ -n "$2" ]
+       then
+               git branch -D "$2"
+       fi
+
        if [ "$1" = "c" ]
        then
                echo "$0: Checkout '${project}' ..."
                git checkout -- .
+       elif [ "$1" = "r" ]
+       then
+               echo "$0: Resetting '${project}' ..."
+               git reset --hard
        fi
 
-       SKIP_TEST="${project:0:9}"
-
        echo "$0: Pulling '${project}' ..."
-       if [ "${SKIP_TEST}" = "jratecalc" ]
+
+       git pull -S origin master
+       git pull -S upstream master
+       git pull -S transport master
+
+       if [ "$?" != "0" ]
        then
-               git pull --all || exit 255
-       else
-               git pull transport master
-               if [ "$?" != "0" ]
-               then
-                       git pull --all || exit 255
-               fi
+               git pull --all
        fi
 
+       echo "$0: Merging upstream into '${project}' ..."
+       git merge -S upstream/master
+
        if [ "$1" != "s" ]
        then
                echo "$0: Rebasing '${project}' ..."
-               git rebase origin/master || exit 255
+               git rebase -Sm origin/master || exit 255
        fi
 done