Re: [PATCH] contrib/subtree: don't delete remote branches if split fails

2013-05-01 Thread Junio C Hamano
John Keeping  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 
> Signed-off-by: John Keeping 
> ---
>  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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] contrib/subtree: don't delete remote branches if split fails

2013-05-01 Thread John Keeping
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 
---
 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
-- 
1.8.3.rc0.149.g98a72f2.dirty

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html