mirror of
https://github.com/kopia/kopia.git
synced 2025-12-23 22:57:50 -05:00
Use non-formatting logging functions for message without formatting.
For example, `log.Info("message")` instead of `log.Infof("message")`
Configure linter for printf-like functions
47 lines
1.1 KiB
Go
47 lines
1.1 KiB
Go
package cli
|
|
|
|
import (
|
|
"context"
|
|
"sort"
|
|
|
|
"github.com/alecthomas/kingpin/v2"
|
|
|
|
"github.com/kopia/kopia/repo/splitter"
|
|
"github.com/kopia/kopia/snapshot/policy"
|
|
)
|
|
|
|
type policySplitterFlags struct {
|
|
policySetSplitterAlgorithmOverride string
|
|
}
|
|
|
|
func (c *policySplitterFlags) setup(cmd *kingpin.CmdClause) {
|
|
cmd.Flag("splitter", "Splitter algorithm override").EnumVar(&c.policySetSplitterAlgorithmOverride, supportedSplitterAlgorithms()...)
|
|
}
|
|
|
|
//nolint:unparam
|
|
func (c *policySplitterFlags) setSplitterPolicyFromFlags(ctx context.Context, p *policy.SplitterPolicy, changeCount *int) error {
|
|
if v := c.policySetSplitterAlgorithmOverride; v != "" {
|
|
if v == inheritPolicyString {
|
|
log(ctx).Info(" - resetting splitter algorithm override to default value inherited from parent")
|
|
|
|
p.Algorithm = ""
|
|
} else {
|
|
log(ctx).Infof(" - setting splitter algorithm override to %v", v)
|
|
|
|
p.Algorithm = v
|
|
}
|
|
|
|
*changeCount++
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func supportedSplitterAlgorithms() []string {
|
|
res := append([]string{inheritPolicyString}, splitter.SupportedAlgorithms()...)
|
|
|
|
sort.Strings(res)
|
|
|
|
return res
|
|
}
|