From: Jeff King <peff@peff.net>
To: Jacob Keller <jacob.keller@gmail.com>
Cc: Git mailing list <git@vger.kernel.org>, Tom Miller <jackerran@gmail.com>
Subject: Re: [PATCH] fetch: document that pruning happens before fetching
Date: Tue, 14 Jun 2016 02:17:53 -0400 [thread overview]
Message-ID: <20160614061752.GA11935@sigill.intra.peff.net> (raw)
In-Reply-To: <CA+P7+xpk6HqeJfUcAkpTbW_hO6dyjanXoqaaKqdTU363n=-Stw@mail.gmail.com>
On Mon, Jun 13, 2016 at 11:14:36PM -0700, Jacob Keller wrote:
> On Mon, Jun 13, 2016 at 4:58 PM, Jeff King <peff@peff.net> wrote:
> > This was changed in 10a6cc8 (fetch --prune: Run prune before
> > fetching, 2014-01-02), but it seems that nobody in that
> > discussion realized we were advertising the "after"
> > explicitly.
> >
> > Signed-off-by: Jeff King <peff@peff.net>
> > ---
> > I include myself in that "nobody" of course. :)
> >
> > Documentation/fetch-options.txt | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt
> > index 036edfb..b05a834 100644
> > --- a/Documentation/fetch-options.txt
> > +++ b/Documentation/fetch-options.txt
> > @@ -52,7 +52,7 @@ ifndef::git-pull[]
> >
> > -p::
> > --prune::
> > - After fetching, remove any remote-tracking references that no
> > + Before fetching, remove any remote-tracking references that no
> > longer exist on the remote. Tags are not subject to pruning
> > if they are fetched only because of the default tag
> > auto-following or due to a --tags option. However, if tags
>
> What's the difference in behavior due to pruning before instead of
> after? Curious. It seems like pruning after would make more sense?
See 10a6cc8. :)
Basically, you have to prune first to make way for new incoming refs
when there is a D/F conflict.
The downside is that there is a moment where objects may be unreferenced
(e.g., if upstream moved "foo" to "bar", we delete "foo" and _then_
create "bar"). And due to the way refs are stored, we do not keep even a
reflog for the deleted ref in the interim.
-Peff
next prev parent reply other threads:[~2016-06-14 6:18 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-13 23:58 [PATCH] fetch: document that pruning happens before fetching Jeff King
2016-06-14 6:14 ` Jacob Keller
2016-06-14 6:17 ` Jeff King [this message]
2016-06-14 6:18 ` Jacob Keller
2016-06-14 9:36 ` Duy Nguyen
2016-06-14 10:22 ` Jeff King
2016-06-14 10:36 ` Duy Nguyen
2016-06-15 3:46 ` 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=20160614061752.GA11935@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--cc=jackerran@gmail.com \
--cc=jacob.keller@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).