Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Dec 10, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

When prefetching the commit graph for the first time with
`trust-pack-indexes=false`, the first pack file is the largest and takes
the longest to index. In my test case, it takes ~2 minutes to fetch all
the pack files, ~13 minutes to index the first pack file, and less than
1 minute to index the rest.

A previous pull request parallelized the pack file indexing. This pull
request makes it so as soon as the smaller, more recent pack files are
ready they are moved into the live pack folder and can be accessed by
the user's operations.

A marker file is created when a pack file is moved into the live pack
folder ahead of an older pack file still indexing. If the prefetch is
interrupted, the next prefetch will ignore pack files which have the
marker when determining the timestamp for the prefetch, which ensures
that any missing pack files from the interrupted prefetch are
redownloaded. The marker file is deleted once all the previous pack
files are ready.

After a completed prefetch, any markers (and the pack and index files
they mark) left over from previous incomplete prefetches are deleted.
Make ready pack files available during prefetch
@pull pull bot locked and limited conversation to collaborators Dec 10, 2025
@pull pull bot added the ⤵️ pull label Dec 10, 2025
@pull pull bot merged commit f877d10 into cgallred:master Dec 10, 2025
1 check failed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant