X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=push-stick.sh;h=02f28847856183ae55f04be937689d4e7a4b5ec7;hb=d0da6a7f92987d5a81d7d8ba0cd74433d1a2ba6b;hp=a797e34da6cb3419a46b3a68e49bdf63997f7c63;hpb=be11c372a0906e552eef414ab4f18de5642833d3;p=jprojects-scripts.git diff --git a/push-stick.sh b/push-stick.sh index a797e34..02f2884 100755 --- a/push-stick.sh +++ b/push-stick.sh @@ -2,16 +2,72 @@ . ./.jprojects.sh || exit 255 -for ENTRY in ${LIST}; do - echo "$0: Pushing '${ENTRY}' ..." - cd "${ENTRY}" || exit 255 - git push --all - if [ "$1" = "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}" "$2" + done + + echo "$0: Pushed to all targets." + exit 0 +fi + +for project in ${LIST}; do + if [ ! -d "${JPROJECTS_HOME}/${project}" ] then - git push --all upstream - elif [ "$1" = "d" ] + echo "$0: Project '${project}' does not exist." + continue; + fi + + echo "$0: Processing '${project}',mode='$1' ..." + cd "${JPROJECTS_HOME}/${project}" || exit 255 + + if [ "$1" = "d" ] then - git push --all daedalus + if [ -n "$2" ] + then + git push daedalus :"$2" + fi + + git push ${FORCE} --all daedalus || exit 255 + elif [ "$1" = "t" ] + then + 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 + if [ -n "$2" ] + then + git push upstream :"$2" + fi + + 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 - cd - done + +echo "$0: All done." +exit 0