Michał Janiszewski <janisoz...@gmail.com> writes:

> Hi,
> I think I've found a bug in git or at least a use case that is not handled.
> In few words it can be described like this: if you push a remote
> branch to another remote, which is bare repository, you cannot remove
> that branch from said bare repository.
> Here is a recipe how to reproduce that with git 1.8.0:
> git init foo
> git init --bare bar.git
> git init --bare baz.git
> cd foo
> echo test > file
> git commit -am "initial commit"

Nothing added, nothing committed, at this point.
I'd assume there is "git add file" before this commit.

> git remote add bar ../bar.git
> git remote add baz ../baz.git
> git push bar master
> cd ..
> git clone bar.git bax
> cd bax
> git checkout -b "test_branch"
> echo evil > file
> git commit -am "evil commit"
> git push origin test-branch

error: src refspec test-branch does not match any.
error: failed to push some refs to '...../bar.git'

I'd assume that is test_branch

> cd ../foo
> git fetch bar
> git push baz bar/test_branch
> cd ../baz.git
> ###
> # on that point in baz.git there is only one branch:


> # remotes/bar/test_branch 8b96ffe evil commit
> # trying to remove that branch yields no results:
> $ git branch -D refs/remotes/bar/test_branch

That is not the way to remove the remote tracking branch test_branch
you have from remote bar, is it?

        git branch -r -D bar/test_branch

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

Reply via email to