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

Re: [PATCH 2/2] builtin-remote: make rm operation safer in mirrored repository

From
Jay Soffian <jaysoffian@gmail.com>
Date
Feb 4, 2009, 15:56 UTC
Message-ID
<76718490902040756m1f5c6f37o45865c51ad1a2e6d@mail.gmail.com>
In-Reply-To
<20090204154227.GE6896@sigill.intra.peff.net>
On Wed, Feb 4, 2009 at 10:42 AM, Jeff King <peff@peff.net> wrote:
Show 11 quoted lines
>> +     /* don't delete non-remote branches */
>> +     if (prefixcmp(refname, "refs/remotes")) {
>> +             if (!prefixcmp(refname, "refs/heads/"))
>> +                     string_list_append(abbrev_branch(refname),
>> +                                        branches->skipped);
>> +             return 0;
>> +     }
>
> Why does this version introduce the "only skip refs/heads/" check?
> Shouldn't we also protect other random refs (or if not, shouldn't the
> commit message explain why not)?

Note that we do protect refs, but we only emit messages about those refs which are obviously branches. Frankly, I wasn't sure what other kinds of refs there might be, so wasn't sure what an appropriate message is for anything other than those under refs/heads.

In particular though, I noticed that w/o this check, I was emitting an incorrect message about anything under refs/tags. I thought about saying "and you can clean up these ignored tags like so", but that is likely to emit a huge number of messages, so I thought it best just to silently ignore non-remote non-branch refs. Perhaps I should better explain that in a code comment.

Alternately, it could do something like:
Note: A non-remote branch was not removed; to delete it use:
   git branch -d ...
Note: Tags were not removed, to delete them use:
   git tag -d ...
Note: Some refs were ignored:
   refs/whoknows/whatthisis
   refs/whoknows/whatthiscouldbe
But that's getting a little insane me thinks.
j.
Previous: Jeff KingNext: Jay Soffian
Message 13 of 17 in “git remote rm considered harmful?”
  1. Jay SoffianFeb 1, 2009
  2. builtin-remote: make rm operation safer in mirrored repositoryJay Soffian, Feb 1, 2009
  3. Jeff KingFeb 2, 2009
  4. Jay SoffianFeb 2, 2009
  5. builtin-remote: make rm operation safer in mirrored repositoryJay Soffian, Feb 2, 2009
  6. Jeff KingFeb 3, 2009
  7. Junio C HamanoFeb 3, 2009
  8. Jay SoffianFeb 3, 2009
  9. Johannes SchindelinFeb 3, 2009
  10. 1/2 builtin-remote: make rm() use properly named variable to hold return valueJay Soffian, Feb 3, 2009
  11. 2/2 builtin-remote: make rm operation safer in mirrored repositoryJay Soffian, Feb 3, 2009
  12. Jeff KingFeb 4, 2009
  13. Jay SoffianFeb 4, 2009
  14. builtin-remote: make rm operation safer in mirrored repositoryJay Soffian, Feb 4, 2009
  15. Jeff KingFeb 4, 2009
  16. Jeff KingFeb 4, 2009
  17. Jeff KingFeb 4, 2009

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.