Re: [PATCH] reachable: only mark local objects as recent
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:04:18
Jeff King [off-list ref] 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.