Re: Questions about partial clone with '--filter=tree:0'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux