Skip to content

Use blob:none partial fetch when syncing metadata branch #77

@jcleira

Description

@jcleira

Description

When fetching the remote metadata/checkpoint branch during push recovery or sync operations, use git fetch --filter=blob:none to skip downloading blob objects. Only the tree structure is needed to merge checkpoint entries — blobs are either already local or fetched on demand.

Why

Checkpoint metadata branches can accumulate large blobs over time. Fetching only the tree during sync reduces bandwidth and latency, making push recovery and metadata merges significantly faster especially in repos with long history.

Source

Target Repos

  • cli

Acceptance Criteria

  • Fetch of the remote metadata branch uses --filter=blob:none
  • Merge of remote and local checkpoint entries succeeds using only tree structure
  • No regression in checkpoint data integrity after merge
  • Reduced network transfer is observable when syncing against a remote with existing checkpoint history

Context Hints

  • cli/internal/sync/
  • cli/internal/checkpoint/
  • cli/internal/git/

Comment /minion build or add the minion-approved label to begin implementation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions