X-Git-Url: https://git.mxchange.org/?p=jprojects-scripts.git;a=blobdiff_plain;f=pull-stick.sh;h=4eeb02ea9180aa8aa1bc7bb72b6b14c170630c5d;hp=7f87871af1e076e39093a229afba3070060c3947;hb=ea626de0fe422e33d641f108b0a940bbfc0afcc3;hpb=00e0cb0a0eea6d14d9d04d7083f9e3c2169a6c17 diff --git a/pull-stick.sh b/pull-stick.sh index 7f87871..4eeb02e 100755 --- a/pull-stick.sh +++ b/pull-stick.sh @@ -2,18 +2,45 @@ . ./.jprojects.sh || exit 255 -for ENTRY in ${LIST}; do - cd "${ENTRY}" || exit 255 +for project in ${LIST}; do + if [ ! -d "${JPROJECTS_HOME}/${project}" ] + then + echo "$0: Project '${project}' does not exist." + continue + fi + + cd "${JPROJECTS_HOME}/${project}" || exit 255 if [ "$1" = "c" ] then - echo "$0: Checkout '${ENTRY}' ..." + echo "$0: Checkout '${project}' ..." git checkout -- . + elif [ "$1" = "r" ] + then + echo "$0: Resetting '${project}' ..." + git reset --hard fi - echo "$0: Pulling '${ENTRY}' ..." - git pull transport master || exit 255 - echo "$0: Rebasing '${ENTRY}' ..." - git rebase origin/master || exit 255 - cd - + echo "$0: Pulling '${project}' ..." + + git pull -S origin master + git pull -S upstream master + git pull -S transport master + + if [ "$?" != "0" ] + then + 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 -Sm origin/master || exit 255 + fi done + +echo "$0: All done." +exit 0