git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alexandr Miloslavskiy <alexandr.miloslavskiy@syntevo.com>
To: Taylor Blau <me@ttaylorr.com>
Cc: git@vger.kernel.org, christian.couder@gmail.com,
	jonathantanmy@google.com,
	Marc Strapetz <marc.strapetz@syntevo.com>
Subject: Re: Questions about partial clone with '--filter=tree:0'
Date: Wed, 21 Oct 2020 19:46:09 +0200	[thread overview]
Message-ID: <67a5edc8-d2f3-735a-fc7c-0fb1b93a7cf3@syntevo.com> (raw)
In-Reply-To: <20201021173153.GC1237181@nand.local>

On 21.10.2020 19:31, Taylor Blau wrote:

 > If you have a promisor remote which is missing objects, running
 > 'git blame' etc. will transparently download whatever objects it
 > is missing.

This is correct, but it downloads things one at a time, which in
case of larger repo such as Linux could take weeks to complete. And
downloading more things at once isn't easy without the suggested
command.

It is possible to traverse commit graph, requesting all discovered
objects at once, but again in case of Linux, that would mean sending
multiple requests with lists of 1 million+ oids. And the number of
requests is around the maximum tree depth. Doesn't sound nice.

> Jonathan Tan knows better than I do here. Maybe he could chime in.

I already CC'ed him, I hope he finds time to reply.

> I see what you're saying. Here sparse-checkout and partial clones
> confusingly diverge: what you really want is to say "I want all of the
> objects that I need to construct this directory at any point in history"
> so that you can run "git blame" on some path within that directory
> without the need for a follow-up fetch.

Right.

> In any case the '--filter=sparse:<oid>' bit is not recommended for use,
> but perhaps this is a convincing use-case. I didn't follow the partial
> clone development close enough to know whether this has already been
> discussed, but I'm sure that it has.

Unfortunately '--filter=sparse:<oid>' requires the list to be already
committed on server, which limits the usefulness of it a lot.

  reply	other threads:[~2020-10-23 10:30 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-20 17:09 Alexandr Miloslavskiy
2020-10-20 22:29 ` Taylor Blau
2020-10-21 17:10   ` Alexandr Miloslavskiy
2020-10-21 17:31     ` Taylor Blau
2020-10-21 17:46       ` Alexandr Miloslavskiy [this message]
2020-10-26 18:24 ` Jonathan Tan
2020-10-26 18:44   ` Alexandr Miloslavskiy
2020-10-26 19:46     ` Jonathan Tan
2020-10-26 20:08       ` Alexandr Miloslavskiy

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=67a5edc8-d2f3-735a-fc7c-0fb1b93a7cf3@syntevo.com \
    --to=alexandr.miloslavskiy@syntevo.com \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jonathantanmy@google.com \
    --cc=marc.strapetz@syntevo.com \
    --cc=me@ttaylorr.com \
    --subject='Re: Questions about partial clone with '\''--filter=tree:0'\''' \
    /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

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 NNTP newsgroup(s).