diff options
| author | 2026-03-29 13:31:46 +0000 | |
|---|---|---|
| committer | 2026-03-29 13:31:46 +0000 | |
| commit | 41f07c00cefc4561493a8e1ef91550adc4c544f5 (patch) | |
| tree | 4abb3c4b8abc9845dde2b5d7af5255ab40d8606e /commitquery/reset.go | |
| parent | cmd/show-object: Split files (diff) | |
| signature | No signature | |
commitquery: Context has been gone long ago
Diffstat (limited to 'commitquery/reset.go')
| -rw-r--r-- | commitquery/reset.go | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/commitquery/reset.go b/commitquery/reset.go new file mode 100644 index 00000000..465f05c1 --- /dev/null +++ b/commitquery/reset.go @@ -0,0 +1,37 @@ +package commitquery + +import ( + commitgraphread "codeberg.org/lindenii/furgit/format/commitgraph/read" + objectid "codeberg.org/lindenii/furgit/object/id" + objectstore "codeberg.org/lindenii/furgit/object/store" +) + +type query struct { + store objectstore.ReadingStore + graph *commitgraphread.Reader + + nodes []node + + byOID map[objectid.ObjectID]nodeIndex + byGraphPos map[commitgraphread.Position]nodeIndex + + markPhase uint32 + touched []nodeIndex +} + +func newQuery(store objectstore.ReadingStore, graph *commitgraphread.Reader) *query { + return &query{ + store: store, + graph: graph, + byOID: make(map[objectid.ObjectID]nodeIndex), + byGraphPos: make(map[commitgraphread.Position]nodeIndex), + } +} + +func (query *query) resetForReuse() { + for _, idx := range query.touched { + query.nodes[idx].marks = 0 + } + + query.touched = query.touched[:0] +} |
