From 861d0d3d8ca27b5c9f329d03ac598a4003dc78e4 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Tue, 5 Dec 2017 21:07:23 +0100 Subject: [PATCH] Make prune more aggressive --- cmd/restic/cmd_prune.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/cmd/restic/cmd_prune.go b/cmd/restic/cmd_prune.go index 125b41c7e..c3ff75712 100644 --- a/cmd/restic/cmd_prune.go +++ b/cmd/restic/cmd_prune.go @@ -271,6 +271,22 @@ func pruneRepository(gopts GlobalOptions, repo restic.Repository) error { Verbosef("will delete %d packs and rewrite %d packs, this frees %s\n", len(removePacks), len(rewritePacks), formatBytes(uint64(removeBytes))) + if len(removePacks) != 0 { + bar = newProgressMax(!gopts.Quiet, uint64(len(removePacks)), "packs deleted") + bar.Start() + for packID := range removePacks { + h := restic.Handle{Type: restic.DataFile, Name: packID.String()} + err = repo.Backend().Remove(ctx, h) + if err != nil { + Warnf("unable to remove file %v from the repository\n", packID.Str()) + } + bar.Report(restic.Stat{Blobs: 1}) + } + bar.Done() + } + + removePacks = restic.NewIDSet() + var obsoletePacks restic.IDSet if len(rewritePacks) != 0 { bar = newProgressMax(!gopts.Quiet, uint64(len(rewritePacks)), "packs rewritten")