From 54baeb0ec3778b63a8088d0f5ef4ac9aa90d077d Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Sat, 21 Feb 2026 11:25:41 +0800 Subject: testgit: Add ref-related functions --- internal/testgit/repo_refs.go | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 internal/testgit/repo_refs.go (limited to 'internal/testgit') diff --git a/internal/testgit/repo_refs.go b/internal/testgit/repo_refs.go new file mode 100644 index 00000000..258d2787 --- /dev/null +++ b/internal/testgit/repo_refs.go @@ -0,0 +1,38 @@ +package testgit + +import ( + "strings" + "testing" + + "codeberg.org/lindenii/furgit/objectid" +) + +// UpdateRef updates a ref to point at id. +func (testRepo *TestRepo) UpdateRef(tb testing.TB, name string, id objectid.ObjectID) { + tb.Helper() + testRepo.Run(tb, "update-ref", name, id.String()) +} + +// SymbolicRef sets a symbolic reference target. +func (testRepo *TestRepo) SymbolicRef(tb testing.TB, name, target string) { + tb.Helper() + testRepo.Run(tb, "symbolic-ref", name, target) +} + +// PackRefs runs git pack-refs with args. +func (testRepo *TestRepo) PackRefs(tb testing.TB, args ...string) { + tb.Helper() + cmd := append([]string{"pack-refs"}, args...) + testRepo.Run(tb, cmd...) +} + +// ShowRef returns lines from git show-ref output. +func (testRepo *TestRepo) ShowRef(tb testing.TB, args ...string) []string { + tb.Helper() + cmd := append([]string{"show-ref"}, args...) + out := testRepo.Run(tb, cmd...) + if strings.TrimSpace(out) == "" { + return nil + } + return strings.Split(strings.TrimSpace(out), "\n") +} -- cgit v1.3.1-10-gc9f91