On Sat, Nov 05, 2016 at 01:45:27PM +0100, Christian Couder wrote: > And with what Peff says above it looks like we will need ways > configure and tweak commit reachability with gitlink/gitref anyway. So > the point of gitref compared to gitlink would be that they just have a > different reachability by default. But couldn't that be replaced by a > default rule saying that when a gitlink is reached "this way or that > way" then the commit reachability should be enforced, and otherwise it > should not be? Any version of git unaware of that rule, though, would consider objects only reachable by gitlink as unreachable and delete them, causing data loss. Likewise for a server not aware of that rule. And a server unaware of that rule would not supply those objects to a client pulling such a branch. So I don't think "gitlink defined as reachable" quite works, unless we make some other format-incompatible change that forces clients and servers touching that gitlink to know about that reachability rule. (In the absence of a hack such as making the same commit a parent.)