Fast implementation of Git in pure Go
codeberg.org/lindenii/furgit
git
go
1package commitquery
2
3import (
4 commitgraphread "codeberg.org/lindenii/furgit/format/commitgraph/read"
5 objectfetch "codeberg.org/lindenii/furgit/object/fetch"
6 objectid "codeberg.org/lindenii/furgit/object/id"
7)
8
9// query stores one mutable reusable worker and its cached node arena.
10//
11// Labels: MT-Unsafe.
12type query struct {
13 fetcher *objectfetch.Fetcher
14 graph *commitgraphread.Reader
15
16 nodes []node
17
18 byOID map[objectid.ObjectID]nodeIndex
19 byGraphPos map[commitgraphread.Position]nodeIndex
20
21 markPhase uint32
22 touched []nodeIndex
23}