1
0
Fork 0
mirror of https://github.com/restic/restic.git synced 2024-12-21 23:33:03 +00:00

prune: allow dry-run without taking a lock

This commit is contained in:
Michael Eischer 2024-10-17 20:52:14 +02:00
parent fc92a04284
commit 868efe4968
2 changed files with 12 additions and 1 deletions

View file

@ -0,0 +1,7 @@
Enhancement: Allow prune dry-run without lock
The `prune --dry-run --no-lock` now allows performing a dry-run without
taking a lock. If the repository is modified concurrently, `prune` may
return inaccurate statistics or errors.
https://github.com/restic/restic/pull/5096

View file

@ -149,7 +149,11 @@ func runPrune(ctx context.Context, opts PruneOptions, gopts GlobalOptions, term
return errors.Fatal("disabled compression and `--repack-uncompressed` are mutually exclusive")
}
ctx, repo, unlock, err := openWithExclusiveLock(ctx, gopts, false)
if gopts.NoLock && !opts.DryRun {
return errors.Fatal("--no-lock is only applicable in combination with --dry-run for prune command")
}
ctx, repo, unlock, err := openWithExclusiveLock(ctx, gopts, opts.DryRun && gopts.NoLock)
if err != nil {
return err
}