John Keeping <john@xxxxxxxxxxxxx> writes: > 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 <steffen.jaeckel@xxxxxxxxx> > Signed-off-by: John Keeping <john@xxxxxxxxxxxxx> > --- > contrib/subtree/git-subtree.sh | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh > index 8a23f58..10daa8b 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 Looks trivially correct to me. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html