Hmm, indeed it works. Sorry for the confusion then (and a bit mistaken commands, but you got them correct). I wasn't aware of the -r option. On Mon, Mar 11, 2013 at 5:29 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Michał Janiszewski <janisozaur@xxxxxxxxx> 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: > > Correct. > >> # 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 > -- Michal Janiszewski -- 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