2
2
mirror of https://github.com/octoleo/restic.git synced 2024-12-28 13:00:53 +00:00

fix: move include and exclude pattern validations to top

This commit is contained in:
Srigovind Nayak 2024-06-01 18:04:14 +05:30
parent fdf2e4ed0e
commit 14d2799b44
No known key found for this signature in database
GPG Key ID: 3C4A72A34ABD4C43

View File

@ -73,6 +73,16 @@ func runRestore(ctx context.Context, opts RestoreOptions, gopts GlobalOptions,
hasExcludes := len(opts.Excludes) > 0 || len(opts.InsensitiveExcludes) > 0
hasIncludes := len(opts.Includes) > 0 || len(opts.InsensitiveIncludes) > 0
excludePatterns, err := opts.excludePatternOptions.CollectPatterns()
if err != nil {
return err
}
includePatterns, err := opts.includePatternOptions.CollectPatterns()
if err != nil {
return err
}
switch {
case len(args) == 0:
return errors.Fatal("no snapshot ID specified")
@ -139,11 +149,6 @@ func runRestore(ctx context.Context, opts RestoreOptions, gopts GlobalOptions,
msg.E("Warning: %s\n", message)
}
excludePatterns, err := opts.excludePatternOptions.CollectPatterns()
if err != nil {
return err
}
selectExcludeFilter := func(item string, _ string, node *restic.Node) (selectedForRestore bool, childMayBeSelected bool) {
for _, rejectFn := range excludePatterns {
matched := rejectFn(item)
@ -160,11 +165,6 @@ func runRestore(ctx context.Context, opts RestoreOptions, gopts GlobalOptions,
return selectedForRestore, childMayBeSelected
}
includePatterns, err := opts.includePatternOptions.CollectPatterns()
if err != nil {
return err
}
selectIncludeFilter := func(item string, _ string, node *restic.Node) (selectedForRestore bool, childMayBeSelected bool) {
for _, includeFn := range includePatterns {
selectedForRestore, childMayBeSelected = includeFn(item)