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 -- 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