From: Jeff Hostetler <git@jeffhostetler.com>
To: Christian Couder <christian.couder@gmail.com>,
Junio C Hamano <gitster@pobox.com>
Cc: git <git@vger.kernel.org>,
Jonathan Tan <jonathantanmy@google.com>,
Ben Peart <peartben@gmail.com>, Jeff King <peff@peff.net>,
Lars Schneider <larsxschneider@gmail.com>
Subject: Re: What's cooking in git.git (Dec 2017, #02; Thu, 7)
Date: Wed, 13 Dec 2017 10:58:02 -0500 [thread overview]
Message-ID: <329228e6-bad0-3685-1110-635da044e11b@jeffhostetler.com> (raw)
In-Reply-To: <CAP8UFD3Jt+0Lq9Yx_7x3sJD+jG+A25bAgDg7zp+dZV43+1-vow@mail.gmail.com>
On 12/12/2017 4:30 AM, Christian Couder wrote:
> On Thu, Dec 7, 2017 at 7:04 PM, Junio C Hamano <gitster@pobox.com> wrote:
>>
>> * jh/object-filtering (2017-12-05) 9 commits
>> (merged to 'next' on 2017-12-05 at 3a56b51085)
>> + rev-list: support --no-filter argument
>> + list-objects-filter-options: support --no-filter
>> + list-objects-filter-options: fix 'keword' typo in comment
>> (merged to 'next' on 2017-11-27 at e5008c3b28)
>> + pack-objects: add list-objects filtering
>> + rev-list: add list-objects filtering support
>> + list-objects: filter objects in traverse_commit_list
>> + oidset: add iterator methods to oidset
>> + oidmap: add oidmap iterator methods
>> + dir: allow exclusions from blob in addition to file
>> (this branch is used by jh/fsck-promisors and jh/partial-clone.)
>>
>> In preparation for implementing narrow/partial clone, the object
>> walking machinery has been taught a way to tell it to "filter" some
>> objects from enumeration.
>>
>>
>> * jh/fsck-promisors (2017-12-05) 12 commits
>> - gc: do not repack promisor packfiles
>> - rev-list: support termination at promisor objects
>> - fixup: sha1_file: add TODO
>> - fixup: sha1_file: convert gotos to break/continue
>> - sha1_file: support lazily fetching missing objects
>> - introduce fetch-object: fetch one promisor object
>> - index-pack: refactor writing of .keep files
>> - fsck: support promisor objects as CLI argument
>> - fsck: support referenced promisor objects
>> - fsck: support refs pointing to promisor objects
>> - fsck: introduce partialclone extension
>> - extension.partialclone: introduce partial clone extension
>> (this branch is used by jh/partial-clone; uses jh/object-filtering.)
>>
>> In preparation for implementing narrow/partial clone, the machinery
>> for checking object connectivity used by gc and fsck has been
>> taught that a missing object is OK when it is referenced by a
>> packfile specially marked as coming from trusted repository that
>> promises to make them available on-demand and lazily.
>
> I am currently working on integrating this series with my external odb
> series (https://public-inbox.org/git/20170916080731.13925-1-chriscool@tuxfamily.org/).
>
> Instead of using an "extension.partialclone" config variable, an odb
> will be configured like using an "odb.<odbname>.promisorRemote" (the
> name might still change) config variable. Other odbs could still be
> configured using "odb.<odbname>.scriptCommand" and
> "odb.<odbname>.subprocessCommand".
>
> The current work is still very much WIP and some tests fail, but you
> can take a look there:
>
> https://github.com/chriscool/git/tree/gl-promisor-external-odb440
>
In our current V6 patch series, Jonathan Tan and I are using the
extension.partialclone config variable for 2 purposes. First, to
indicate a change in the repository format and stop non-aware clients
(older versions of git.exe) from operating on the repo -- since they
won't know how to handle missing objects. Second, to name the remote
to help the client later demand load missing objects. This is a current
limitation (we only support one promisor remote), so this second usage
may change. I haven't had time to look at your branch yet, so I can't
comment on how it might help/solve our second usage, but we do need to
keep the first usage in mind.
Jeff
prev parent reply other threads:[~2017-12-13 15:58 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-07 18:04 What's cooking in git.git (Dec 2017, #02; Thu, 7) Junio C Hamano
2017-12-08 5:49 ` Torsten Bögershausen
2017-12-08 11:38 ` Johannes Schindelin
2017-12-08 20:58 ` Junio C Hamano
2017-12-08 15:36 ` Christian Couder
2017-12-08 15:56 ` Junio C Hamano
2017-12-12 9:30 ` Christian Couder
2017-12-12 16:53 ` Philip Oakley
2017-12-13 15:58 ` 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 \
--in-reply-to=329228e6-bad0-3685-1110-635da044e11b@jeffhostetler.com \
--to=git@jeffhostetler.com \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jonathantanmy@google.com \
--cc=larsxschneider@gmail.com \
--cc=peartben@gmail.com \
--cc=peff@peff.net \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public 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).