"o" is for origin
[jprojects-scripts.git] / push-stick.sh
index 04321b4af3a6968fc4e956c0c049f2fbf33c009a..f3e72c19336725eeef22ac917a0b8003992406b6 100755 (executable)
@@ -2,14 +2,14 @@
 
 . ./.jprojects.sh || exit 255
 
-TARGETS="d t u"
+TARGETS="d t u"
 
 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."
@@ -17,31 +17,48 @@ then
 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
+               git push --all daedalus || exit 255
        elif [ "$1" = "t" ]
        then
-               git push --all transport
+               if [ -n "$2" ]
+               then
+                       git push transport :"$2"
+               fi
+
+               git push --all transport || exit 255
        elif [ "$1" = "u" ]
        then
-               git push --all upstream
-       fi
+               if [ -n "$2" ]
+               then
+                       git push upstream :"$2"
+               fi
 
-       cd "${JPROJECTS_HOME}"
+               git push --all upstream || exit 255
+       else
+               if [ -n "$2" ]
+               then
+                       git push origin :"$2"
+               fi
+
+               git push --all || exit 255
+       fi
 done
+
+echo "$0: All done."
+exit 0