. ./.jprojects.sh || exit 255
-TARGETS="d t u"
+TARGETS="o d t u"
+FORCE="--force"
if [ "$1" = "a" ]
then
cd "${JPROJECTS_HOME}"
for TARGET in ${TARGETS}; do
echo "$0: Pushing for target '${TARGET}' ..."
- $0 "${TARGET}" "1"
+ $0 "${TARGET}" "$2"
done
echo "$0: Pushed to all targets."
fi
for project in ${LIST}; do
+ if [ ! -d "${JPROJECTS_HOME}/${project}" ]
+ then
+ echo "$0: Project '${project}' does not exist."
+ continue;
+ fi
+
echo "$0: Processing '${project}',mode='$1' ..."
cd "${JPROJECTS_HOME}/${project}" || exit 255
- SKIP_TEST="${project:0:9}"
-
- if [ -z "$2" -o "${SKIP_TEST}" = "jratecalc" ]
+ if [ "$1" = "d" ]
then
- echo "$0: Pushing '${project}',mode='$1' ..."
- git push --all || exit 255
- fi
+ if [ -n "$2" ]
+ then
+ git push daedalus :"$2"
+ fi
- if [ "${SKIP_TEST}" = "jratecalc" ]
- then
- echo "$0: Not continuing for jratecalc project '${project}'."
- continue
- elif [ "$1" = "d" ]
- then
- git push --all daedalus || exit 255
+ git push ${FORCE} --all daedalus || exit 255
elif [ "$1" = "t" ]
then
- git push --all transport || exit 255
+ if [ -n "$2" ]
+ then
+ git push transport :"$2"
+ echo "$0: Syncing ..."
+ sync
+ fi
+
+ git push ${FORCE} --all transport || exit 255
+ echo "$0: Syncing ..."
+ sync
elif [ "$1" = "u" ]
then
- git push --all upstream || exit 255
- fi
+ if [ -n "$2" ]
+ then
+ git push upstream :"$2"
+ fi
- cd "${JPROJECTS_HOME}"
+ git push ${FORCE} --all upstream || exit 255
+ else
+ if [ -n "$2" ]
+ then
+ git push origin :"$2"
+ echo "$0: Syncing ..."
+ sync
+ fi
+
+ git push ${FORCE} --all || exit 255
+ echo "$0: Syncing ..."
+ sync
+ fi
done
+
+echo "$0: All done."
+exit 0