Subject: Re: [PATCH] reachable: only mark local objects as recent

From: Junio C Hamano <[email-masked]>
Date: Fri, 27 Mar 2015 12:00:05 -0700

Jeff King <[email-masked]> writes:

> It is possible that we may drop an object that is depended
> upon by another object in the alternate. For example,
> imagine two repositories, A and B, with A pointing to B as
> an alternate. Now imagine a commit that is in B which
> references a tree that is only in A. Traversing from recent
> objects in B might prevent A from dropping that tree. But
> this case isn't worth covering. Repo B should take
> responsibility for its own objects. It would never have had
> the commit in the first place if it did not also have the
> tree, and assuming it is using the same "keep recent chunks
> of history" scheme, then it would itself keep the tree, as
> well.

In other words, if you have a loop in dependency chain among
alternate repositories, your set-up is broken by definition.

Which makes sense to me.

Thanks.