. ./.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}' ..."
- git checkout -- .
+ echo "$0: Checkout '${project}' ..."
+ git checkout -- . || exit 255
+ elif [ "$1" = "r" ]
+ then
+ echo "$0: Resetting '${project}' ..."
+ git reset --hard || exit 255
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}' ..."
+ if [ "$1" = "a" ]
+ then
+ git pull --all || exit 255
+ else
+ git pull -S origin master || exit 255
+ git fetch upstream || exit 255
+ git fetch transport || exit 255
+ fi
+
+ echo "$0: Merging upstream into '${project}' ..."
+ git merge -S upstream/master || exit 255
+
+ if [ "$1" != "s" -a "$1" != "a" ]
+ then
+ echo "$0: Rebasing '${project}' ..."
+ git rebase -Sm origin/master || exit 255
+ fi
done
+
+echo "$0: All done."
+exit 0