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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html