unify exclude pattern options

This commit is contained in:
Michael Eischer 2022-09-07 23:01:45 +02:00
parent 4cace1ffe9
commit 559acea0d8
1 changed files with 3 additions and 11 deletions

View File

@ -52,11 +52,7 @@ type RewriteOptions struct {
Inplace bool Inplace bool
DryRun bool DryRun bool
// Exclude options excludePatternOptions
Excludes []string
InsensitiveExcludes []string
ExcludeFiles []string
InsensitiveExcludeFiles []string
} }
var rewriteOptions RewriteOptions var rewriteOptions RewriteOptions
@ -71,11 +67,7 @@ func init() {
f.BoolVarP(&rewriteOptions.Inplace, "inplace", "", false, "replace existing snapshots") f.BoolVarP(&rewriteOptions.Inplace, "inplace", "", false, "replace existing snapshots")
f.BoolVarP(&rewriteOptions.DryRun, "dry-run", "n", false, "do not do anything, just print what would be done") f.BoolVarP(&rewriteOptions.DryRun, "dry-run", "n", false, "do not do anything, just print what would be done")
// Excludes initExcludePatternOptions(f, &rewriteOptions.excludePatternOptions)
f.StringArrayVarP(&rewriteOptions.Excludes, "exclude", "e", nil, "exclude a `pattern` (can be specified multiple times)")
f.StringArrayVar(&rewriteOptions.InsensitiveExcludes, "iexclude", nil, "same as --exclude `pattern` but ignores the casing of filenames")
f.StringArrayVar(&rewriteOptions.ExcludeFiles, "exclude-file", nil, "read exclude patterns from a `file` (can be specified multiple times)")
f.StringArrayVar(&rewriteOptions.InsensitiveExcludeFiles, "iexclude-file", nil, "same as --exclude-file but ignores casing of `file`names in patterns")
} }
func rewriteSnapshot(ctx context.Context, repo *repository.Repository, sn *restic.Snapshot, opts RewriteOptions, gopts GlobalOptions) (bool, error) { func rewriteSnapshot(ctx context.Context, repo *repository.Repository, sn *restic.Snapshot, opts RewriteOptions, gopts GlobalOptions) (bool, error) {
@ -83,7 +75,7 @@ func rewriteSnapshot(ctx context.Context, repo *repository.Repository, sn *resti
return false, errors.Errorf("snapshot %v has nil tree", sn.ID().Str()) return false, errors.Errorf("snapshot %v has nil tree", sn.ID().Str())
} }
rejectByNameFuncs, err := collectExcludePatterns(opts.Excludes, opts.InsensitiveExcludes, opts.ExcludeFiles, opts.InsensitiveExcludeFiles) rejectByNameFuncs, err := collectExcludePatterns(opts.excludePatternOptions)
if err != nil { if err != nil {
return false, err return false, err
} }