From: Jeff King <peff@peff.net>
To: Jason Paller-Rzepka <jasonpr@google.com>
Cc: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
"Stefan Beller" <sbeller@google.com>,
"git@vger.kernel.org" <git@vger.kernel.org>
Subject: Re: Multiple fetches when unshallowing a shallow clone
Date: Fri, 4 Dec 2015 16:51:58 -0500 [thread overview]
Message-ID: <20151204215158.GA27987@sigill.intra.peff.net> (raw)
In-Reply-To: <CACs8u9Qvqn4KDMKo+RHsQaf+dw+CGtWrOpoUJzaZAqD1rFRiuw@mail.gmail.com>
On Fri, Dec 04, 2015 at 04:38:16PM -0500, Jason Paller-Rzepka wrote:
> It appears that it happens when the shallow history grows to include a
> commit that's pointed to by a previously unseen tag. For example,
> when I deepen a checkout of git to depth 8, I hit v2.5.2, and a second
> fetch takes place.
Yeah. The code is in builtin/fetch.c:backfill_tags.
> But why would fetching a tag (or set of tags) merit a depth of zero?
> Doesn't depth 1 mean "give me the the objects, and none of their
> descendants"? Why use 0?
That comes from this line:
transport_set_option(transport, TRANS_OPT_DEPTH, "0");
That line blame back to b888d61 (Make fetch a builtin, 2007-09-10),
which isn't incredibly helpful.
I think that comes from the original git-fetch.sh, which had:
?*)
# do not deepen a shallow tree when following tags
shallow_depth=
Which makes sense. I think the code at that point is not aware that we
just "unshallowed" and can therefore drop the depth parameter
altogether. But I admit I am not all that familiar with the shallow
code.
+cc Duy, who can probably say something way more intelligent about this
off the top of his head. :)
-Peff
next prev parent reply other threads:[~2015-12-04 21:52 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-30 19:35 Multiple fetches when unshallowing a shallow clone Jason Paller-Rzepka
2015-12-04 20:46 ` Stefan Beller
2015-12-04 21:27 ` Jeff King
2015-12-04 21:36 ` Stefan Beller
2015-12-04 21:38 ` Jason Paller-Rzepka
2015-12-04 21:50 ` Stefan Beller
2015-12-04 21:51 ` Jeff King [this message]
2015-12-04 22:45 ` Junio C Hamano
2015-12-05 5:33 ` Duy Nguyen
2015-12-06 4:00 ` Junio C Hamano
2015-12-06 6:37 ` Jeff King
2015-12-06 7:01 ` Jeff King
2015-12-06 10:46 ` Duy Nguyen
2015-12-07 19:57 ` Jason Paller-Rzepka
[not found] ` <CACs8u9RzUVWw2Ld1K7JeO7Eci114JEiML8bbGy96m4pZZk=FnA@mail.gmail.com>
2015-12-07 21:21 ` Duy Nguyen
2015-12-07 21:27 ` Junio C Hamano
2015-12-07 21:42 ` Jeff King
2015-12-04 21:57 ` Junio C Hamano
2015-12-04 22:10 ` 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=20151204215158.GA27987@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--cc=jasonpr@google.com \
--cc=pclouds@gmail.com \
--cc=sbeller@google.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).