aboutsummaryrefslogtreecommitdiff
path: root/cmd/show-object/main.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-02-22 13:34:10 +0800
committerGravatar Runxi Yu2026-02-22 13:34:10 +0800
commit5b1a67514d984240240234d1e7d203b481a03f62 (patch)
treec68a62ef784e2297934713c83ec1560a8b37e60b /cmd/show-object/main.go
parentrepository: Accept root instead of repopath (diff)
signatureNo signature
show-object: Fix defer v0.1.37
Diffstat (limited to 'cmd/show-object/main.go')
-rw-r--r--cmd/show-object/main.go18
1 files changed, 13 insertions, 5 deletions
diff --git a/cmd/show-object/main.go b/cmd/show-object/main.go
index 1df925e0..47326269 100644
--- a/cmd/show-object/main.go
+++ b/cmd/show-object/main.go
@@ -22,33 +22,41 @@ func main() {
log.Fatal("must provide -r <repo> and -h <ref-or-object-id>")
}
+ if err := run(repoPath, name); err != nil {
+ log.Fatalf("run: %v", err)
+ }
+}
+
+func run(repoPath *string, name *string) error {
root, err := os.OpenRoot(*repoPath)
if err != nil {
- log.Fatalf("open repo root: %v", err)
+ return fmt.Errorf("open repo root: %w", err)
}
defer func() { _ = root.Close() }()
repo, err := repository.Open(root)
if err != nil {
- log.Fatalf("open repository: %v", err)
+ return fmt.Errorf("open repository: %w", err)
}
id, err := resolveInput(repo, *name)
if err != nil {
_ = repo.Close()
- log.Fatalf("resolve %q: %v", *name, err)
+ return fmt.Errorf("resolve %q: %w", *name, err)
}
stored, err := repo.ReadStored(id)
if err != nil {
_ = repo.Close()
- log.Fatalf("read object %s: %v", id, err)
+ return fmt.Errorf("read object %s: %w", id, err)
}
printStored(stored)
if err := repo.Close(); err != nil {
- log.Fatalf("close repository: %v", err)
+ return fmt.Errorf("close repository: %w", err)
}
+
+ return nil
}
func resolveInput(repo *repository.Repository, input string) (objectid.ObjectID, error) {