From: Jeff King <peff@peff.net>
To: Jay Soffian <jaysoffian@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] builtin-remote: make rm operation safer in mirrored repository
Date: Mon, 2 Feb 2009 08:29:09 -0500 [thread overview]
Message-ID: <20090202132909.GD8487@sigio.peff.net> (raw)
In-Reply-To: <1233503309-40144-1-git-send-email-jaysoffian@gmail.com>
On Sun, Feb 01, 2009 at 10:48:29AM -0500, Jay Soffian wrote:
> "git remote rm <repo>" is happy to remove non-remote branches (and their
> reflogs). This may be okay if the repository truely is a mirror, but if the
> user had done "git remote add --mirror <repo>" by accident and was just
> undoing their mistake, then they are left in a situation that is difficult to
> recover from.
>
> After this commit, "git remote rm" skips over non-remote branches and instead
> advises the user on how to remove such branches using "git branch -d", which
> itself has nice safety checks wrt to branch removal lacking from "git remote
> rm".
I think this is sensible. The point of "git remote rm" removing tracking
branches is just to clean up cruft in a repository that has otherwise
interesting stuff. Blowing away a mirror implies getting rid of all
refs. At which point I have to wonder why you would want to do that
versus just removing the repo entirely. I.e., the common use case for
"git remote rm" on a mirror would seem to be "oops, I did this wrong"
and not "I really want to get rid of all my refs".
So I think a safety valve is reasonable. I wonder if would be simpler
still to just not delete _any_ refs for a mirrored remote. On the other
hand, your safety valve also protects against unusual refspecs that
might touch refs not in refs/remotes (e.g., if I didn't use
remote.foo.mirror, but I had a manually-written refspec that touched
some subset of refs/heads/). In that case, your safety valve makes more
sense.
> builtin-remote.c | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
Tests?
-Peff
next prev parent reply other threads:[~2009-02-02 13:30 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-01 14:52 git remote rm considered harmful? Jay Soffian
2009-02-01 15:48 ` [PATCH] builtin-remote: make rm operation safer in mirrored repository Jay Soffian
2009-02-02 13:29 ` Jeff King [this message]
2009-02-02 13:36 ` Jay Soffian
2009-02-02 18:40 ` Jay Soffian
2009-02-03 7:24 ` Jeff King
2009-02-03 7:54 ` Junio C Hamano
2009-02-03 14:38 ` Jay Soffian
2009-02-03 14:53 ` Johannes Schindelin
2009-02-03 17:51 ` [PATCH 1/2] builtin-remote: make rm() use properly named variable to hold return value Jay Soffian
2009-02-04 15:34 ` Jeff King
2009-02-03 17:51 ` [PATCH 2/2] builtin-remote: make rm operation safer in mirrored repository Jay Soffian
2009-02-04 15:42 ` Jeff King
2009-02-04 15:56 ` Jay Soffian
2009-02-04 16:06 ` [PATCH] " Jay Soffian
2009-02-04 16:18 ` Jeff King
2009-02-04 16:16 ` [PATCH 2/2] " Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090202132909.GD8487@sigio.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--cc=jaysoffian@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.