diff --git a/.golangci.yml b/.golangci.yml index 1dc6a8a90..f29d8fc21 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -36,8 +36,7 @@ linters: - "-ST1021" - "-ST1022" # extra disables - - "-QF1003" - - "-QF1008" + - "-QF1008" # don't warn about specifing name of embedded field on access exclusions: generated: lax rules: diff --git a/cmd/restic/cmd_init.go b/cmd/restic/cmd_init.go index c11015feb..35134a27c 100644 --- a/cmd/restic/cmd_init.go +++ b/cmd/restic/cmd_init.go @@ -65,17 +65,19 @@ func runInit(ctx context.Context, opts InitOptions, gopts GlobalOptions, args [] printer := newTerminalProgressPrinter(gopts.JSON, gopts.verbosity, term) var version uint - if opts.RepositoryVersion == "latest" || opts.RepositoryVersion == "" { + switch opts.RepositoryVersion { + case "latest", "": version = restic.MaxRepoVersion - } else if opts.RepositoryVersion == "stable" { + case "stable": version = restic.StableRepoVersion - } else { + default: v, err := strconv.ParseUint(opts.RepositoryVersion, 10, 32) if err != nil { return errors.Fatal("invalid repository version") } version = uint(v) } + if version < restic.MinRepoVersion || version > restic.MaxRepoVersion { return errors.Fatalf("only repository versions between %v and %v are allowed", restic.MinRepoVersion, restic.MaxRepoVersion) } diff --git a/cmd/restic/main.go b/cmd/restic/main.go index 179fd1d0d..a82d92af3 100644 --- a/cmd/restic/main.go +++ b/cmd/restic/main.go @@ -173,9 +173,10 @@ func main() { ctx := createGlobalContext() err = newRootCommand().ExecuteContext(ctx) - if err == nil { + switch err { + case nil: err = ctx.Err() - } else if err == ErrOK { + case ErrOK: // ErrOK overwrites context cancellation errors err = nil } diff --git a/internal/debug/debug.go b/internal/debug/debug.go index a09d6e74a..a8c3a7f33 100644 --- a/internal/debug/debug.go +++ b/internal/debug/debug.go @@ -64,10 +64,11 @@ func parseFilter(envname string, pad func(string) string) map[string]bool { for _, fn := range strings.Split(env, ",") { t := pad(strings.TrimSpace(fn)) val := true - if t[0] == '-' { + switch t[0] { + case '-': val = false t = t[1:] - } else if t[0] == '+' { + case '+': val = true t = t[1:] } diff --git a/internal/repository/index/index_test.go b/internal/repository/index/index_test.go index 93803603d..c23322948 100644 --- a/internal/repository/index/index_test.go +++ b/internal/repository/index/index_test.go @@ -297,11 +297,12 @@ func TestIndexUnserialize(t *testing.T) { rtest.Equals(t, test.tpe, blob.Type) rtest.Equals(t, test.offset, blob.Offset) rtest.Equals(t, test.length, blob.Length) - if task.version == 1 { + switch task.version { + case 1: rtest.Equals(t, uint(0), blob.UncompressedLength) - } else if task.version == 2 { + case 2: rtest.Equals(t, test.uncompressedLength, blob.UncompressedLength) - } else { + default: t.Fatal("Invalid index version") } } diff --git a/internal/restorer/restorer.go b/internal/restorer/restorer.go index 198cb11c3..8ba323754 100644 --- a/internal/restorer/restorer.go +++ b/internal/restorer/restorer.go @@ -593,10 +593,11 @@ func shouldOverwrite(overwrite OverwriteBehavior, node *restic.Node, destination return false, err } - if overwrite == OverwriteIfNewer { + switch overwrite { + case OverwriteIfNewer: // return if node is newer return node.ModTime.After(fi.ModTime()), nil - } else if overwrite == OverwriteNever { + case OverwriteNever: // file exists return false, nil }