From 68b1f3073395fbcc92f18f69b48118718ced6cf0 Mon Sep 17 00:00:00 2001 From: Michael Eischer Date: Wed, 28 Dec 2022 21:42:38 +0100 Subject: [PATCH] Remove Exitf function Commands should use the normal shutdown path. In addition, the Exitf function was only used by `dump` and `restore` but not any other command which introduces the risk of inconsistent behavior. --- cmd/restic/cmd_dump.go | 6 +++--- cmd/restic/cmd_restore.go | 2 +- cmd/restic/global.go | 11 ----------- 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/cmd/restic/cmd_dump.go b/cmd/restic/cmd_dump.go index 5b5530d69..a480b12f4 100644 --- a/cmd/restic/cmd_dump.go +++ b/cmd/restic/cmd_dump.go @@ -141,7 +141,7 @@ func runDump(ctx context.Context, opts DumpOptions, gopts GlobalOptions, args [] sn, err := restic.FindFilteredSnapshot(ctx, repo.Backend(), repo, opts.Paths, opts.Tags, opts.Hosts, nil, snapshotIDString) if err != nil { - Exitf(1, "failed to find snapshot: %v", err) + return errors.Fatalf("failed to find snapshot: %v", err) } err = repo.LoadIndex(ctx) @@ -151,13 +151,13 @@ func runDump(ctx context.Context, opts DumpOptions, gopts GlobalOptions, args [] tree, err := restic.LoadTree(ctx, repo, *sn.Tree) if err != nil { - Exitf(2, "loading tree for snapshot %q failed: %v", snapshotIDString, err) + return errors.Fatalf("loading tree for snapshot %q failed: %v", snapshotIDString, err) } d := dump.New(opts.Archive, repo, os.Stdout) err = printFromTree(ctx, tree, repo, "/", splittedPath, d) if err != nil { - Exitf(2, "cannot dump file: %v", err) + return errors.Fatalf("cannot dump file: %v", err) } return nil diff --git a/cmd/restic/cmd_restore.go b/cmd/restic/cmd_restore.go index 5ed09e27a..b70cb52ff 100644 --- a/cmd/restic/cmd_restore.go +++ b/cmd/restic/cmd_restore.go @@ -133,7 +133,7 @@ func runRestore(ctx context.Context, opts RestoreOptions, gopts GlobalOptions, a sn, err := restic.FindFilteredSnapshot(ctx, repo.Backend(), repo, opts.Hosts, opts.Tags, opts.Paths, nil, snapshotIDString) if err != nil { - Exitf(1, "failed to find snapshot: %v", err) + return errors.Fatalf("failed to find snapshot: %v", err) } err = repo.LoadIndex(ctx) diff --git a/cmd/restic/global.go b/cmd/restic/global.go index faf74dc42..dc984c845 100644 --- a/cmd/restic/global.go +++ b/cmd/restic/global.go @@ -281,17 +281,6 @@ func Warnf(format string, args ...interface{}) { } } -// Exitf uses Warnf to write the message and then terminates the process with -// the given exit code. -func Exitf(exitcode int, format string, args ...interface{}) { - if !(strings.HasSuffix(format, "\n")) { - format += "\n" - } - - Warnf(format, args...) - Exit(exitcode) -} - // resolvePassword determines the password to be used for opening the repository. func resolvePassword(opts GlobalOptions, envStr string) (string, error) { if opts.PasswordFile != "" && opts.PasswordCommand != "" {