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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]