aboutsummaryrefslogtreecommitdiff
path: root/cmd/show-object/resolve.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-29 13:31:16 +0000
committerGravatar Runxi Yu2026-03-29 13:31:16 +0000
commitad880cd26c9a6e4739d9ced8c5a076bccaceb999 (patch)
treef18d44acd1c2a414396c1d40c87af84cb815c65f /cmd/show-object/resolve.go
parentcmd/receivepack9418: Remove the silly runMain thingy (diff)
signatureNo signature
cmd/show-object: Split files
Diffstat (limited to 'cmd/show-object/resolve.go')
-rw-r--r--cmd/show-object/resolve.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/cmd/show-object/resolve.go b/cmd/show-object/resolve.go
new file mode 100644
index 00000000..eaf2c102
--- /dev/null
+++ b/cmd/show-object/resolve.go
@@ -0,0 +1,22 @@
+package main
+
+import (
+ "strings"
+
+ objectid "codeberg.org/lindenii/furgit/object/id"
+ "codeberg.org/lindenii/furgit/repository"
+)
+
+func resolveInput(repo *repository.Repository, input string) (objectid.ObjectID, error) {
+ id, err := objectid.ParseHex(repo.Algorithm(), strings.TrimSpace(input))
+ if err == nil {
+ return id, nil
+ }
+
+ resolved, err := repo.Refs().ResolveToDetached(input)
+ if err != nil {
+ return objectid.ObjectID{}, err
+ }
+
+ return resolved.ID, nil
+}