fixed this
[jprojects-scripts.git] / push-stick.sh
index 2fe7e2b1ff08c6fad1dc3d9e680f22e1ddd3b0c4..947c8ec6c91bafa01be7f2be5aebfebe544c562c 100755 (executable)
@@ -9,7 +9,7 @@ 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 || exit 255
        elif [ "$1" = "t" ]
        then
+               if [ -n "$2" ]
+               then
+                       git push transport :"$2"
+               fi
+
                git push --all transport || exit 255
        elif [ "$1" = "u" ]
        then
+               if [ -n "$2" ]
+               then
+                       git push upstream :"$2"
+               fi
+
                git push --all upstream || exit 255
-       fi
+       else
+               if [ -n "$2" ]
+               then
+                       git push origin :"$2"
+               fi
 
-       cd "${JPROJECTS_HOME}"
+               git push --all || exit 255
+       fi
 done
+
+echo "$0: All done."
+exit 0