git/list[1] front-page[2] threads[3] people[4] search[5] about
 

A bug or unhandled case

From
MJMichał Janiszewski <janisozaur@gmail.com>
Date
Mar 11, 2013, 16:06 UTC
Message-ID
<CABB6UqEfx=ssbiD1+2HA3AtmSrFeJeg5fmU3z1SKukNsKvd4qw@mail.gmail.com>

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

Next: Junio C Hamano
Message 1 of 4 in “A bug or unhandled case”
  1. Michał JaniszewskiMar 11, 2013
  2. Junio C HamanoMar 11, 2013
  3. Michał JaniszewskiMar 11, 2013
  4. Junio C HamanoMar 11, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.