Use partial fetch (blob:none) for checkpoints metadata#712
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR optimizes the push recovery sync flow for Entire’s metadata/session branches by switching the recovery git fetch to a partial fetch that avoids downloading blobs, since the merge logic only needs commit/tree structure.
Changes:
- Use
git fetch --filter=blob:nonewhen fetching the remote metadata branch during non-fast-forward push recovery. - Expand inline comments to explain why blobs are not required for the merge.
d6ab7ca to
226de0e
Compare
842f8aa to
1f48a50
Compare
Soph
approved these changes
Apr 9, 2026
Skip downloading blobs when fetching the remote metadata branch during push recovery. The merge only needs the tree structure to combine entries — blobs are already local or fetched on demand by git. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Entire-Checkpoint: 56094f38982e
Signed-off-by: Paulo Gomes <paulo@entire.io> Entire-Checkpoint: d8c9d9506694
Signed-off-by: Paulo Gomes <paulo@entire.io>
1f48a50 to
73bea7b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Skip downloading blobs when fetching the remote metadata branch during push recovery. Consolidate that practice across the different use cases of
git fetchfor checkpoints.Blobs are already local or fetched on demand by git during
entire resume.Depends on #680.
Note
Medium Risk
Changes the
git fetchbehavior used in push-recovery sync, which could behave differently on older git/server setups or if partial clone filters are unsupported. Otherwise the change is localized to metadata-session syncing and should reduce network/IO by avoiding blob downloads.Overview
During push recovery, the metadata-branch sync now performs a partial fetch by adding
--filter=blob:noneto thegit fetchinvocation infetchAndMergeSessionsCommon.This aims to speed up/trim network usage by fetching only commits/trees needed for the tree-merge step, skipping blob objects.
Reviewed by Cursor Bugbot for commit 226de0e. Configure here.