git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* A bug or unhandled case
@ 2013-03-11 16:06 Michał Janiszewski
  2013-03-11 16:29 ` Junio C Hamano
  0 siblings, 1 reply; 4+ messages in thread
From: Michał Janiszewski @ 2013-03-11 16:06 UTC (permalink / raw)
  To: git

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"
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
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
error: branch 'refs/remotes/bar/test_branch' not found.
$ git branch -D remotes/bar/test_branch
error: branch 'remotes/bar/test_branch' not found.
$ git branch -D bar/test_branch
error: branch 'bar/test_branch' not found.
$ git branch -D test_branch
error: branch 'test_branch' not found.

git gc --prune=now
# also does nothing

The only way to remove that branch is to:
cd ../foo
git push baz :bar/test_branch

Shouldn't someone who owns bare repository be able to delete that kind
of branches as he is able to do with "regular" branches?

--
Michal Janiszewski

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-03-11 16:53 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-11 16:06 A bug or unhandled case Michał Janiszewski
2013-03-11 16:29 ` Junio C Hamano
2013-03-11 16:39   ` Michał Janiszewski
2013-03-11 16:53     ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).