aboutsummaryrefslogtreecommitdiff
path: root/cmd/index-pack/algorithm.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-29 13:29:01 +0000
committerGravatar Runxi Yu2026-03-29 13:29:01 +0000
commit101fe6a0d74543bab7cb9876e3bea1f2d21a592a (patch)
treef52a89190764cf22cf1accf783f0235181e4cd84 /cmd/index-pack/algorithm.go
parentformat/commitgraph: Trim redundant MT-Safe's (diff)
signatureNo signature
cmd/index-pack: Split files
Diffstat (limited to 'cmd/index-pack/algorithm.go')
-rw-r--r--cmd/index-pack/algorithm.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/cmd/index-pack/algorithm.go b/cmd/index-pack/algorithm.go
new file mode 100644
index 00000000..fc57991a
--- /dev/null
+++ b/cmd/index-pack/algorithm.go
@@ -0,0 +1,25 @@
+package main
+
+import (
+ "fmt"
+
+ objectid "codeberg.org/lindenii/furgit/object/id"
+ "codeberg.org/lindenii/furgit/repository"
+)
+
+func resolveAlgorithm(repo *repository.Repository, objectFormat string) (objectid.Algorithm, error) {
+ if objectFormat != "" {
+ algo, ok := objectid.ParseAlgorithm(objectFormat)
+ if !ok {
+ return objectid.AlgorithmUnknown, fmt.Errorf("invalid object format %q", objectFormat)
+ }
+
+ return algo, nil
+ }
+
+ if repo != nil {
+ return repo.Algorithm(), nil
+ }
+
+ return objectid.AlgorithmSHA1, nil
+}