Re: [PATCH 00/18] Partial clone (from clone to lazy fetch in 18 patches)
- From
- Jonathan Tan <jonathantanmy@google.com>
- Date
- Oct 3, 2017, 23:42 UTC
- Message-ID
- <CAGf8dgLu-TeK8KbHv-U+18O+L2TxKcGv5vFFHy38J6a_YXRfew@mail.gmail.com>
- In-Reply-To
- <cb818dcf-beab-10ac-5e58-f56377af4f6a@jeffhostetler.com>
On Tue, Oct 3, 2017 at 7:39 AM, Jeff Hostetler <git@jeffhostetler.com> wrote:
Show 16 quoted lines
> > As I see it there are the following major parts to partial clone: > 1. How to let git-clone (and later git-fetch) specify the desired > subset of objects that it wants? (A ref-relative request.) > 2. How to let the server and git-pack-objects build that incomplete > packfile? > 3. How to remember in the local config that a partial clone (or > fetch) was used and that missing object should be expected? > 4. How to dynamically fetch individual missing objects individually? > (Not a ref-relative request.) > 5. How to augment the local ODB with partial clone information and > let git-fsck (and friends) perform limited consistency checking? > 6. Methods to bulk fetching missing objects (whether in a pre-verb > hook or in unpack-tree) > 7. Miscellaneous issues (e.g. fixing places that accidentally cause > a missing object to be fetched that don't really need it).
Thanks for the enumeration.
Show 8 quoted lines
> As was suggested above, I think we should merge our efforts: > using my filtering for 1 and 2 and Jonathan's code for 3, 4, and 5. > I would need to eliminate the "relax" options in favor of his > is_promised() functionality for index-pack and similar. And omit > his blob-max-bytes changes from pack-objects, the protocol and > related commands. > > That should be a good first step.
This sounds good to me. Jeff Hostetler's filtering (all blobs, blobs by size, blobs by sparse checkout specification) is more comprehensive than mine, so removing blob-max-bytes from my code is not a problem.
> We both have thoughts on bulk fetching (mine in pre-verb hooks and > his in unpack-tree). We don't need this immediately, but can wait > until the above is working to revisit.
Agreed.