I’m new, so it’s entirely possible that I’m misunderstanding the semantics of forgetting/pruning, but my impression is:
forget” without “
--prune” will remove the references to data in the repo, but leave the actual data there.
forget” with “
--prune” will remove the references to data, and then prune (delete) the files from the repo.
I think, but this is where I might be wrong, that a sequence of “forget a snapshot” followed by “prune with no other arguments” should be the same end result as running
forget --prune <snapshot>. And just to be extra certain, I ran both
forget <snap> --prune and
forget --prune <snap> in case the argument ordering mattered for some reason.
I can reproduce this on 0.8.1/linux reliably: I think I already have the fix for #1317, but I didn’t see anything else that looked relevant.
Am I misunderstanding how prune/forget are supposed to interact, or a bug, or something else?
Reproduction steps are :
- init repo
- run a backup
- forget --prune this snapshot
3a: snapshot disappears, but the files are still there.
- if you explicitly call prune by itself, all corresponding files in the repo are actually deleted.
Log file attached with an example… let me know if other info might help?
lwobker@lwobker-vms:~/.restic$ restic version restic 0.8.1 compiled with go1.9 on linux/amd64 lwobker@lwobker-vms:~/.restic$ restic init created restic backend 84f1255c01 at b2:vms-restic lwobker@lwobker-vms:~/.restic$ restic backup /storage/slashetc password is correct scan [/storage/slashetc] [0:11] 82.73% 536.443 KiB/s 5.763 MiB / 6.966 MiB 3486 / 3541 items 55 errors ETA 0:02 duration: 0:11, 0.58MiB/s snapshot 55c23f25 saved lwobker@lwobker-vms:~/.restic$ restic forget --prune 55c23f25 password is correct removed snapshot 55c23f25
NOTE : files were NOT removed from repo at this point…
lwobker@lwobker-vms:~/.restic$ restic prune password is correct counting files in repo building new index for repo [0:01] 100.00% 6 / 6 packs repository contains 6 packs (2188 blobs) with 7.033 MiB processed 2188 blobs: 0 duplicate blobs, 0B duplicate load all snapshots find data that is still in use for 0 snapshots [0:00] 0 / 0 snapshots found 0 of 2188 data blobs still in use, removing 2188 blobs will remove 0 invalid files will delete 6 packs and rewrite 0 packs, this frees 6.956 MiB counting files in repo [0:00] 0 / 0 packs finding old index files saved new index as b341772a remove 1 old index files [0:01] 100.00% 6 / 6 packs deleted done