From: Josh Triplett Date: Mon, 07 Nov 2016 16:11:59 GMT Subject: Re: Regarding "git log" on "git series" metadata Message-ID: <20161107161158.7db3f3gthdlfuhyw@x> In-Reply-To: On Mon, Nov 07, 2016 at 04:42:04PM +0700, Duy Nguyen wrote: > On Mon, Nov 7, 2016 at 8:18 AM, Josh Triplett wrote: > > Once we have gitrefs, you have both alternatives: reachable (gitref) or > > not reachable (gitlink). > > > > However, if you want some way to mark reachable objects as not > > reachable, such as for a sparse checkout, external large-object storage, > > or similar, then you can use a single unified mechanism for that whether > > working with gitrefs, trees, or blobs. > > How? Whether an object reachable or not is baked in the definition (of > either gitlink or gitref). I don't think you can have a "maybe > reachable" type then rely on an external source to determine > reachability, You'd have various "reachable by default" entries in trees, including trees, blobs, and gitrefs, and then have an external mechanism (likely via .git/config) to say "ignore objects with these hashes/paths". For instance, you might say "ignore all objects only reachable from the path 'assets/video/*' within a commit's tree". With the right set of client and server extensions, you could then avoid downloading those objects.