Re: Sensible way to see what objects are being fetched just-in-time in a partial clone?
- From
Tao Klerks <tao@klerks.biz>
- Date
- Aug 26, 2024, 19:37 UTC
- Message-ID
- <CAPMMpoiPeSyLHUd072Q9AozdaCAjpOL03jY-0Y33B2iEQ5EdTQ@mail.gmail.com>
- In-Reply-To
- <xmqqv7znjir3.fsf@gitster.g>
On Mon, Aug 26, 2024 at 7:28 PM Junio C Hamano <gitster@pobox.com> wrote:
> > > Unlike the diff machinery, blame does not have a prefetch machinery. > I am glad that somebody is looking at it.
I'm not convinced I'm looking at it in a very useful way from your perspective: My C skills being spectacularly lacking for fixing the core code, I am just writing an external python-based wrapper for "my" users.
I will try to "productize" it sufficiently to send here in case it's useful to someone, but all I can really offer the community-at-large is confirmation that in principle, the approach works as you would expect: With some small number of jit-fetches for rename-detection during the revision walk(s), and with one blob-prefetch call afterwards, "git blame" can be made to run cleanly/quickly in a "filter:none" clone even on a file like "git.c", with hundreds of revisions.