pushd $REPO_DIR > /dev/null
BRANCHES=$(git branch -r | grep $REMOTE | grep -v HEAD | sed "s/.*\///g" | grep -v master)
+ HAS_MASTER=$(git branch -l | grep master)
popd > /dev/null
- run ${REPO_DIR} git checkout master
- run ${REPO_DIR} git merge --ff $REMOTE/master
+ [ -n "$HAS_MASTER" ] && run ${REPO_DIR} git checkout master
+ [ -n "$HAS_MASTER" ] && run ${REPO_DIR} git merge --ff $REMOTE/master
for BRANCH in $BRANCHES ; do
run -i ${REPO_DIR} git branch $BRANCH $REMOTE/$BRANCH
run ${REPO_DIR} git checkout $BRANCH
pushd $REPO_DIR > /dev/null
BRANCHES=$(git branch -r | grep $PUSH_FROM | grep -v HEAD | sed "s/.*\///g" | grep -v master)
+ HAS_MASTER=$(git branch -l | grep master)
popd > /dev/null
- run ${REPO_DIR} git push $PUSH_TO master:master
+ [ -n "$HAS_MASTER" ] && run ${REPO_DIR} git push $PUSH_TO master:master
for BRANCH in $BRANCHES ; do
run ${REPO_DIR} git push $PUSH_TO $BRANCH:$BRANCH
done