From: Jeff Hostetler <firstname.lastname@example.org> To: Jonathan Tan <email@example.com> Cc: Junio C Hamano <firstname.lastname@example.org>, Christian Couder <email@example.com>, git <firstname.lastname@example.org>, Ben Peart <email@example.com> Subject: Re: [PATCH 00/18] Partial clone (from clone to lazy fetch in 18 patches) Date: Wed, 4 Oct 2017 09:30:39 -0400 [thread overview] Message-ID: <firstname.lastname@example.org> (raw) In-Reply-To: <CAGf8dgLu-TeK8KbHv-U+18O+L2TxKcGv5vFFHy38J6a_YXRfew@mail.gmail.com> On 10/3/2017 7:42 PM, Jonathan Tan wrote: > On Tue, Oct 3, 2017 at 7:39 AM, Jeff Hostetler <email@example.com> wrote: >> >> 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. > >> 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. > Thanks. I'll make a first pass at merging our efforts then and post something shortly. Jeff
prev parent reply other threads:[~2017-10-04 13:30 UTC|newest] Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-09-29 20:11 Jonathan Tan 2017-09-29 20:11 ` [PATCH 01/18] fsck: introduce partialclone extension Jonathan Tan 2017-09-29 20:11 ` [PATCH 02/18] fsck: support refs pointing to promisor objects Jonathan Tan 2017-09-29 20:11 ` [PATCH 03/18] fsck: support referenced " Jonathan Tan 2017-09-29 20:11 ` [PATCH 04/18] fsck: support promisor objects as CLI argument Jonathan Tan 2017-09-29 20:11 ` [PATCH 05/18] index-pack: refactor writing of .keep files Jonathan Tan 2017-09-29 20:11 ` [PATCH 06/18] introduce fetch-object: fetch one promisor object Jonathan Tan 2017-09-29 20:11 ` [PATCH 07/18] sha1_file: support lazily fetching missing objects Jonathan Tan 2017-10-12 14:42 ` Christian Couder 2017-10-12 15:45 ` Christian Couder 2017-09-29 20:11 ` [PATCH 08/18] rev-list: support termination at promisor objects Jonathan Tan 2017-09-29 20:11 ` [PATCH 09/18] gc: do not repack promisor packfiles Jonathan Tan 2017-09-29 20:11 ` [PATCH 10/18] pack-objects: rename want_.* to ignore_.* Jonathan Tan 2017-09-29 20:11 ` [PATCH 11/18] pack-objects: support --blob-max-bytes Jonathan Tan 2017-09-29 20:11 ` [PATCH 12/18] fetch-pack: support excluding large blobs Jonathan Tan 2017-09-29 20:11 ` [PATCH 13/18] fetch: refactor calculation of remote list Jonathan Tan 2017-09-29 20:11 ` [PATCH 14/18] fetch: support excluding large blobs Jonathan Tan 2017-09-29 20:11 ` [PATCH 15/18] clone: " Jonathan Tan 2017-09-29 20:11 ` [PATCH 16/18] clone: configure blobmaxbytes in created repos Jonathan Tan 2017-09-29 20:11 ` [PATCH 17/18] unpack-trees: batch fetching of missing blobs Jonathan Tan 2017-09-29 20:11 ` [PATCH 18/18] fetch-pack: restore save_commit_buffer after use Jonathan Tan 2017-09-29 21:08 ` [PATCH 00/18] Partial clone (from clone to lazy fetch in 18 patches) Johannes Schindelin 2017-10-02 4:23 ` Junio C Hamano 2017-10-03 6:15 ` Christian Couder 2017-10-03 8:50 ` Junio C Hamano 2017-10-03 14:39 ` Jeff Hostetler 2017-10-03 23:42 ` Jonathan Tan 2017-10-04 13:30 ` Jeff Hostetler [this message]
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: http://vger.kernel.org/majordomo-info.html * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --subject='Re: [PATCH 00/18] Partial clone (from clone to lazy fetch in 18 patches)' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Code repositories for project(s) associated with this inbox: https://80x24.org/mirrors/git.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).