X-Git-Url: https://git.mxchange.org/?p=jprojects-scripts.git;a=blobdiff_plain;f=pull-stick.sh;h=b417ff1faad3ede91744e4b35e9bb978612cebd1;hp=7f87871af1e076e39093a229afba3070060c3947;hb=ebf0ceef2da647a2408b5275ec59ad838527d19a;hpb=40325d93ab0cf12a2c8d41f609f57130d36fef8c diff --git a/pull-stick.sh b/pull-stick.sh index 7f87871..b417ff1 100755 --- a/pull-stick.sh +++ b/pull-stick.sh @@ -2,18 +2,50 @@ . ./.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 [ -n "$2" ] + then + git branch -D "$2" + fi 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 '${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: Pulling '${ENTRY}' ..." - git pull transport master || exit 255 - echo "$0: Rebasing '${ENTRY}' ..." - git rebase origin/master || exit 255 - cd - + 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