explain: route metadata-blob prefetch through refs.Primary · Entire
explain: route metadata-blob prefetch through refs.Primary
b3904df→main·
pfleidi·1mo ago·1 file·+14 added/-4 removed
loadV1MetadataRootTree is renamed to loadPrimaryMetadataRootTree and takes CommittedRefs. The origin remote-tracking fallback is gated on Read == Primary && PrimaryFetchableFromOrigin so the local-only mirror ref skips it.
Sessions
9b09e42a8892View transcript
[?
Streamline Checkpoint Version Mirroring with refs.PrimaryClaude Code·1 step](/content/gh/entireio/cli/session/7d8b9a47-6f94-441b-adae-5402ded54425#timeline-9b09e42a8892/index.html)
Changes
1
cmd/entire/cli
Mexplain.go+14/-4
761 unmodified lines
762
763
764
765
765
766
767
768
769
770
771
772
52 unmodified lines
825
826
827
824
825
828
829
830
831
832
833
834
835
836
837
838
839
830
840
841
842
843
761 unmodified lines
// inside this function so the caller's spinner provides continuous
// feedback.
func prefetchCheckpointBlobs(ctx context.Context, repo *git.Repository, cpID id.CheckpointID) {
v1FT := buildCheckpointFetchingTree(ctx, repo, cpID, "v1", loadV1MetadataRootTree)
refs := checkpoint.ResolveCommittedRefs(ctx)
loadPrimaryRoot := func(repo *git.Repository) (*object.Tree, error) {
return loadPrimaryMetadataRootTree(repo, refs)
}
v1FT := buildCheckpointFetchingTree(ctx, repo, cpID, "primary", loadPrimaryRoot)
missingCount := 0
if v1FT != nil {
52 unmodified lines
}
}
func loadV1MetadataRootTree(repo *git.Repository) (*object.Tree, error) {
if tree, err := strategy.GetMetadataRefTree(repo, plumbing.NewBranchReferenceName(paths.MetadataBranchName)); err == nil {
// loadPrimaryMetadataRootTree reads the tree at refs.Primary, falling back to
// origin's remote-tracking ref when reads are bootstrappable from origin
// (Read == Primary && Primary in Push).
func loadPrimaryMetadataRootTree(repo *git.Repository, refs checkpoint.CommittedRefs) (*object.Tree, error) {
if tree, err := strategy.GetMetadataRefTree(repo, refs.Primary); err == nil {
return tree, nil
}
if refs.Read != refs.Primary || !refs.PrimaryFetchableFromOrigin() {
return nil, fmt.Errorf("read primary metadata tree %s: ref not found locally", refs.Primary)
}
tree, err := strategy.GetRemoteMetadataBranchTree(repo)
if err != nil {
return nil, fmt.Errorf("read v1 metadata tree (local + remote-tracking): %w", err)
return nil, fmt.Errorf("read primary metadata tree (local + remote-tracking): %w", err)
}
return tree, nil
}
Mcmd/entire/cli/explain.go+14/-4