diff options
Diffstat (limited to 'reachability/connected.go')
| -rw-r--r-- | reachability/connected.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/reachability/connected.go b/reachability/connected.go new file mode 100644 index 00000000..6496287d --- /dev/null +++ b/reachability/connected.go @@ -0,0 +1,19 @@ +package reachability + +import "codeberg.org/lindenii/furgit/objectid" + +// CheckConnected verifies that all objects reachable from wants (under the +// selected domain) can be fully traversed without missing-object/type/parse +// errors, excluding subgraphs rooted at haves. +// +// Even with commit-graph acceleration available, each visited commit is +// still validated against the object store. +func (r *Reachability) CheckConnected(domain Domain, haves, wants map[objectid.ObjectID]struct{}) error { + walk := r.Walk(domain, haves, wants) + + walk.strict = true + for range walk.Seq() { + } + + return walk.Err() +} |
