forked from TrueCloudLab/restic
Merge pull request #4912 from MichaelEischer/restore-delete-preserve-root
restore: forbid --target / --delete unless include/exclude is specified
This commit is contained in:
commit
c309ffb35b
1 changed files with 5 additions and 0 deletions
|
@ -2,6 +2,7 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"path/filepath"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/restic/restic/internal/debug"
|
"github.com/restic/restic/internal/debug"
|
||||||
|
@ -107,6 +108,10 @@ func runRestore(ctx context.Context, opts RestoreOptions, gopts GlobalOptions,
|
||||||
return errors.Fatal("--dry-run and --verify are mutually exclusive")
|
return errors.Fatal("--dry-run and --verify are mutually exclusive")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if opts.Delete && filepath.Clean(opts.Target) == "/" && !hasExcludes && !hasIncludes {
|
||||||
|
return errors.Fatal("'--target / --delete' must be combined with an include or exclude filter")
|
||||||
|
}
|
||||||
|
|
||||||
snapshotIDString := args[0]
|
snapshotIDString := args[0]
|
||||||
|
|
||||||
debug.Log("restore %v to %v", snapshotIDString, opts.Target)
|
debug.Log("restore %v to %v", snapshotIDString, opts.Target)
|
||||||
|
|
Loading…
Reference in a new issue