From 37707aada0157f255dbad920b917efb601184e12 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Sun, 29 Mar 2026 13:38:19 +0000 Subject: commitquery: Reorganize --- commitquery/node_parent.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 commitquery/node_parent.go (limited to 'commitquery/node_parent.go') diff --git a/commitquery/node_parent.go b/commitquery/node_parent.go new file mode 100644 index 00000000..17224701 --- /dev/null +++ b/commitquery/node_parent.go @@ -0,0 +1,27 @@ +package commitquery + +import ( + commitgraphread "codeberg.org/lindenii/furgit/format/commitgraph/read" + objectid "codeberg.org/lindenii/furgit/object/id" +) + +// Parents returns resolved parent node indices for one internal node. +func (query *query) parents(idx nodeIndex) []nodeIndex { + return query.nodes[idx].parents +} + +// parentRef references one commit parent. +type parentRef struct { + ID objectid.ObjectID + GraphPos commitgraphread.Position + HasGraphPos bool +} + +// resolveParent resolves one parent descriptor to one internal node. +func (query *query) resolveParent(parent parentRef) (nodeIndex, error) { + if parent.HasGraphPos { + return query.resolveGraphPos(parent.GraphPos) + } + + return query.resolveOID(parent.ID) +} -- cgit v1.3.1-10-gc9f91