X-Git-Url: https://git.mxchange.org/?p=jprojects-scripts.git;a=blobdiff_plain;f=pull-stick.sh;h=f1f16dd37f9d3f0b5e9abfde61677d510b5d967f;hp=a1878608921bcb253621cd0ece95140d8ca5b96f;hb=2d172679d4b2f11872fc8f5dad30bfd84e4d43fb;hpb=be11c372a0906e552eef414ab4f18de5642833d3 diff --git a/pull-stick.sh b/pull-stick.sh index a187860..f1f16dd 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 [ -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 '${ENTRY}' ..." - git pull || exit 255 - echo "$0: Rebasing '${ENTRY}' ..." - git rebase origin/master || exit 255 - cd - + echo "$0: Pulling '${project}' ..." + + git pull -S origin master + git fetch upstream + git fetch transport + + 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