diff --git a/cmd/restic/cmd_prune.go b/cmd/restic/cmd_prune.go index a4522003a..9a415c61d 100644 --- a/cmd/restic/cmd_prune.go +++ b/cmd/restic/cmd_prune.go @@ -434,11 +434,14 @@ func prune(opts PruneOptions, gopts GlobalOptions, repo restic.Repository, usedB } switch { - case !reachedRepackSize && (p.duplicateBlobs > 0 || p.tpe != restic.DataBlob): + case reachedRepackSize: + keep(p.packInfo) + + case p.duplicateBlobs > 0, p.tpe != restic.DataBlob: // repacking duplicates/non-data is only limited by repackSize repack(p.ID, p.packInfo) - case reachedUnusedSizeAfter, reachedRepackSize: + case reachedUnusedSizeAfter: // for all other packs stop repacking if tolerated unused size is reached. keep(p.packInfo)