diff --git a/git-subsplit.sh b/git-subsplit.sh index f1fb257..b7dcc0f 100755 --- a/git-subsplit.sh +++ b/git-subsplit.sh @@ -216,11 +216,13 @@ subsplit_publish() fi say " - syncing branch '${HEAD}'" + git checkout master >/dev/null 2>&1 git branch -D "$LOCAL_BRANCH" >/dev/null 2>&1 git branch -D "${LOCAL_BRANCH}-checkout" >/dev/null 2>&1 git checkout -b "${LOCAL_BRANCH}-checkout" "origin/${HEAD}" >/dev/null 2>&1 git subtree split -q --prefix="$SUBPATH" --branch="$LOCAL_BRANCH" "origin/${HEAD}" >/dev/null + RETURNCODE=$? if [ -n "$VERBOSE" ]; then @@ -231,7 +233,7 @@ subsplit_publish() echo "${DEBUG} git subtree split -q --prefix=\"$SUBPATH\" --branch=\"$LOCAL_BRANCH\" \"origin/${HEAD}\" >/dev/null" fi - if [ $? -eq 0 ] + if [ $RETURNCODE -eq 0 ] then PUSH_CMD="git push -q ${DRY_RUN} --force $REMOTE_NAME ${LOCAL_BRANCH}:${HEAD}" @@ -291,6 +293,7 @@ subsplit_publish() say " - subtree split for '${TAG}'" git subtree split -q --annotate="${ANNOTATE}" --prefix="$SUBPATH" --branch="$LOCAL_TAG" "$TAG" >/dev/null + RETURNCODE=$? if [ -n "$VERBOSE" ]; then @@ -298,7 +301,7 @@ subsplit_publish() fi say " - subtree split for '${TAG}' [DONE]" - if [ $? -eq 0 ] + if [ $RETURNCODE -eq 0 ] then PUSH_CMD="git push -q ${DRY_RUN} --force ${REMOTE_NAME} ${LOCAL_TAG}:refs/tags/${TAG}"