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

Re: [BUG?] git fetch -p -t prunes all non-tag refs

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 26, 2011, 23:16 UTC
Message-ID
<7v1uv228t4.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1317078667.5579.13.camel@centaur.lab.cmartin.tk>
Carlos Martín Nieto <cmn@elego.de> writes:
Show 17 quoted lines
> On Mon, 2011-09-26 at 15:30 -0700, Junio C Hamano wrote:
>> Ben Boeckel <mathstuf@gmail.com> writes:
>> 
>> > When the --prune and --tags options are given to git fetch together, all
>> > non-tag refs are pruned because only tags are looked at and when pruning
>> > it appears as if the branches have disappeared and are therefore deleted
>> > locally.
>> 
>> I would call that a bug, and it is not limited to the use of "--tags". For
>> example, I suspect that
>> 
>>     $ git fetch --prune origin refs/heads/master:refs/remotes/origin/master
>> 
>> would prune remote tracking branches for "origin" other than "master".
>
> This should fix it (in a way). Let's agree that it's a bad idea and
> complain to the user.

That might be a reasonable short-term safety measure, but in the longer term I think we should fix it properly. We are already learning "what are the refs the remote side currently has" from the transport and the right fix ought to be to use that original information, not the version filtered for the use of the primary objective of fetch, which is to only fetch what the user asked for.

Previous: Carlos Martín NietoNext: Carlos Martín Nieto
Message 5 of 14 in “[BUG?] git fetch -p -t prunes all non-tag refs”
  1. Ben BoeckelSep 26, 2011
  2. Junio C HamanoSep 26, 2011
  3. Ben BoeckelSep 26, 2011
  4. Carlos Martín NietoSep 26, 2011
  5. Junio C HamanoSep 26, 2011
  6. Carlos Martín NietoSep 26, 2011
  7. Jeff KingSep 27, 2011
  8. Carlos Martín NietoOct 4, 2011
  9. Jeff KingOct 4, 2011
  10. Carlos Martín NietoOct 4, 2011
  11. 0/2 Be more careful when prunningCarlos Martín Nieto, Oct 6, 2011
  12. 1/2 fetch: free all the additional refspecsCarlos Martín Nieto, Oct 6, 2011
  13. 2/2 fetch: honor the user-provided refspecs when pruning refsCarlos Martín Nieto, Oct 6, 2011
  14. Junio C HamanoOct 7, 2011

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.