blob: 347f3f29aa10f01c7bbc00e99774386b04a8aecc (
about) (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package ingest
import (
"bytes"
"slices"
"codeberg.org/lindenii/furgit/objectid"
"codeberg.org/lindenii/furgit/objecttype"
)
// unresolvedThinBaseIDs returns sorted unique unresolved ref base IDs.
func unresolvedThinBaseIDs(state *ingestState) []objectid.ObjectID {
seen := make(map[objectid.ObjectID]struct{})
for _, idx := range state.unresolvedRefDeltas {
record := state.records[idx]
if record.packedType != objecttype.TypeRefDelta {
continue
}
seen[record.baseObject] = struct{}{}
}
out := make([]objectid.ObjectID, 0, len(seen))
for id := range seen {
out = append(out, id)
}
slices.SortFunc(out, func(a, b objectid.ObjectID) int {
return bytes.Compare(a.RawBytes(), b.RawBytes())
})
return out
}
|