From 95bcc9ea31b132bf06e870a050e1f9e7236b298e Mon Sep 17 00:00:00 2001 From: Michael Eischer Date: Sat, 30 Apr 2022 20:03:26 +0200 Subject: [PATCH] debug: Support pack ID prefixes in `debug examine` --- cmd/restic/cmd_debug.go | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/cmd/restic/cmd_debug.go b/cmd/restic/cmd_debug.go index 50bf6d357..8efb6c8a3 100644 --- a/cmd/restic/cmd_debug.go +++ b/cmd/restic/cmd_debug.go @@ -427,12 +427,23 @@ func storePlainBlob(id restic.ID, prefix string, plain []byte) error { } func runDebugExamine(gopts GlobalOptions, args []string) error { + repo, err := OpenRepository(gopts) + if err != nil { + return err + } + ids := make([]restic.ID, 0) for _, name := range args { id, err := restic.ParseID(name) if err != nil { - Warnf("error: %v\n", err) - continue + name, err = restic.Find(gopts.ctx, repo.Backend(), restic.PackFile, name) + if err == nil { + id, err = restic.ParseID(name) + } + if err != nil { + Warnf("error: %v\n", err) + continue + } } ids = append(ids, id) } @@ -441,11 +452,6 @@ func runDebugExamine(gopts GlobalOptions, args []string) error { return errors.Fatal("no pack files to examine") } - repo, err := OpenRepository(gopts) - if err != nil { - return err - } - if !gopts.NoLock { lock, err := lockRepo(gopts.ctx, repo) defer unlockRepo(lock)