Git development
 help / color / mirror / Atom feed
From: "Philip Oakley" <philipoakley@iee.org>
To: "Christian Couder" <christian.couder@gmail.com>,
	"Junio C Hamano" <gitster@pobox.com>
Cc: "git" <git@vger.kernel.org>,
	"Jonathan Tan" <jonathantanmy@google.com>,
	"Jeff Hostetler" <git@jeffhostetler.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: Tue, 12 Dec 2017 16:53:11 -0000	[thread overview]
Message-ID: <5400ED3ACDCF49BA84399FDBFD7DDFF8@PhilipOakley> (raw)
In-Reply-To: CAP8UFD3Jt+0Lq9Yx_7x3sJD+jG+A25bAgDg7zp+dZV43+1-vow@mail.gmail.com

From: "Christian Couder" <christian.couder@gmail.com>
> 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/).
>
I too had seen that, as currently configured, the 'partialClone' could be 
seen as a method for using the remote as if it were an object database (odb) 
that was part of an 'always on-line' capability. However I'm cautious about 
locking out the original DVCS capability of being off-line relative to some, 
or all, remotes and still needing to work in 'airplane mode'.

It should be OK for the local narrowClone (my term) to be totally off-line 
for a while and still be able to work when back on line with other suitable 
remotes, even after the original remote has gone.


> 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 future work Jeff had indicated, IIRC, should be able to cope with 
multiple promisor remotes, which it's to be hope this could handle. I'm not 
sure how the odb code would handle a partial failure where a partition of 
the odb stops being available.

>
> 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
--
Philip 


  reply	other threads:[~2017-12-12 16:53 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 [this message]
2017-12-13 15:58   ` Jeff Hostetler

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5400ED3ACDCF49BA84399FDBFD7DDFF8@PhilipOakley \
    --to=philipoakley@iee.org \
    --cc=christian.couder@gmail.com \
    --cc=git@jeffhostetler.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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox