rewrite command: add include.Empty(), changelog/issue-4278

Prepare filter inclusion filters: add func Empty()

Enhancement to enable inclusion filters for rewrite command.
This commit is contained in:
Winfried Plappert 2024-12-23 07:23:12 +00:00
parent 5ddda7f5e9
commit b40035222a
2 changed files with 17 additions and 0 deletions

View File

@ -0,0 +1,13 @@
Enhancement: include filters in command rewrite
The enhancement allows the standard include filter options
--iinclude pattern same as --include pattern but ignores the casing of filenames
--iinclude-file file same as --include-file but ignores casing of filenames in patterns
-i, --include pattern include a pattern (can be specified multiple times)
--include-file file read include patterns from a file (can be specified multiple times)
The exclusion or inclusion of filter parameters is exclusive, as in other commands
which use both include and exclude filters.
https://github.com/restic/restic/issues/4278
https://github.com/restic/restic/pull/5191

View File

@ -25,6 +25,10 @@ func (opts *IncludePatternOptions) Add(f *pflag.FlagSet) {
f.StringArrayVar(&opts.InsensitiveIncludeFiles, "iinclude-file", nil, "same as --include-file but ignores casing of `file`names in patterns")
}
func (opts *IncludePatternOptions) Empty() bool {
return len(opts.Includes) == 0 && len(opts.InsensitiveIncludes) == 0 && len(opts.IncludeFiles) == 0 && len(opts.InsensitiveIncludeFiles) == 0
}
func (opts IncludePatternOptions) CollectPatterns(warnf func(msg string, args ...interface{})) ([]IncludeByNameFunc, error) {
var fs []IncludeByNameFunc
if len(opts.IncludeFiles) > 0 {