From: John Keeping Date: Wed, 1 May 2013 08:25:52 +0000 (+0100) Subject: contrib/subtree: don't delete remote branches if split fails X-Git-Tag: v1.8.3.2~14^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3212d56ce528a86170f7809659f80a8769a5875f;p=thirdparty%2Fgit.git contrib/subtree: don't delete remote branches if split fails When using "git subtree push" to split out a subtree and push it to a remote repository, we do not detect if the split command fails which causes the LHS of the refspec to be empty, deleting the remote branch. Fix this by pulling the result of the split command into a variable so that we can die if the command fails. Reported-by: Steffen Jaeckel Signed-off-by: John Keeping Signed-off-by: Junio C Hamano --- diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh index 8a23f58ba0..10daa8b0eb 100755 --- a/contrib/subtree/git-subtree.sh +++ b/contrib/subtree/git-subtree.sh @@ -715,7 +715,8 @@ cmd_push() repository=$1 refspec=$2 echo "git push using: " $repository $refspec - git push $repository $(git subtree split --prefix=$prefix):refs/heads/$refspec + localrev=$(git subtree split --prefix="$prefix") || die + git push $repository $localrev:refs/heads/$refspec else die "'$dir' must already exist. Try 'git subtree add'." fi