From 6070462465c1be0e745cbdc1b501aafbf229e807 Mon Sep 17 00:00:00 2001 From: Michael Eischer Date: Fri, 12 Jun 2026 21:44:37 +0200 Subject: [PATCH] backup: move options finalization to BackupOptions.Finalize --- cmd/restic/cmd_backup.go | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/cmd/restic/cmd_backup.go b/cmd/restic/cmd_backup.go index 96a89b035..120fd2349 100644 --- a/cmd/restic/cmd_backup.go +++ b/cmd/restic/cmd_backup.go @@ -53,22 +53,7 @@ Exit status is 11 if the repository is already locked. Exit status is 12 if the password is incorrect. `, PreRunE: func(_ *cobra.Command, _ []string) error { - if envVal := os.Getenv("RESTIC_READ_CONCURRENCY"); envVal != "" && !opts.readConcurrencyFlag.Changed { - n, err := strconv.ParseUint(envVal, 10, 32) - if err != nil { - return errors.Fatalf("invalid value for RESTIC_READ_CONCURRENCY %q: %v", envVal, err) - } - opts.ReadConcurrency = uint(n) - } - if opts.Host == "" { - hostname, err := os.Hostname() - if err != nil { - debug.Log("os.Hostname() returned err: %v", err) - return nil - } - opts.Host = hostname - } - return nil + return opts.Finalize() }, GroupID: cmdGroupDefault, DisableAutoGenTag: true, @@ -163,6 +148,25 @@ func (opts *BackupOptions) AddFlags(f *pflag.FlagSet) { } } +func (opts *BackupOptions) Finalize() error { + if envVal := os.Getenv("RESTIC_READ_CONCURRENCY"); envVal != "" && !opts.readConcurrencyFlag.Changed { + n, err := strconv.ParseUint(envVal, 10, 32) + if err != nil { + return errors.Fatalf("invalid value for RESTIC_READ_CONCURRENCY %q: %v", envVal, err) + } + opts.ReadConcurrency = uint(n) + } + if opts.Host == "" { + hostname, err := os.Hostname() + if err != nil { + debug.Log("os.Hostname() returned err: %v", err) + return nil + } + opts.Host = hostname + } + return nil +} + var backupFSTestHook func(fs fs.FS) fs.FS // ErrInvalidSourceData is used to report an incomplete backup