Re: [PATCH 2/2] builtin-remote: make rm operation safer in mirrored repository
- From
Jeff King <peff@peff.net>
- Date
- Feb 4, 2009, 16:16 UTC
- Message-ID
- <20090204161654.GA9218@sigill.intra.peff.net>
- In-Reply-To
- <76718490902040756m1f5c6f37o45865c51ad1a2e6d@mail.gmail.com>
On Wed, Feb 04, 2009 at 10:56:06AM -0500, Jay Soffian wrote:
Show 17 quoted lines
> On Wed, Feb 4, 2009 at 10:42 AM, Jeff King <peff@peff.net> wrote:
> >> + /* 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.Oh, right. I was just reading it wrong. Your new version with the two comments makes it even more clear.
Show 9 quoted lines
> 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
Nah, I think deleting branches was the main intention. So we are properly protecting everything now, but only warning about what you _might_ have meant.
> But that's getting a little insane me thinks.
Agreed.
-Peff