aboutsummaryrefslogtreecommitdiff
path: root/reachability/connected.go
blob: 96211079196c324bbe14c34fa27636293e8c0ccf (about) (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package reachability

import objectid "codeberg.org/lindenii/furgit/object/id"

// 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()
}