Do not prune after a backup that found a configured path empty (closes #388)
check / check (push) Canceled after 0s

snapshot create --prune of a snapshot whose path was an empty
directory, as the mount point of a volume that is not mounted is,
recorded an empty snapshot and then purged the older snapshots that
held the data, with their blobs.

The scan now counts the entries it finds in each configured path.
Under --prune, a run in which a path of a snapshot it made held
nothing skips the prune, keeps every older snapshot, names each such
path with its snapshot, and exits non-zero, as
#382 does for unreadable
files. A configured path that is a symlink whose target is gone fails
the run. Only the current run is looked at. Without --prune nothing
changes.

Model: opus-5-5
This commit is contained in:
2026-10-14 22:40:37 +00:00
parent 6a57750a7b
commit 6c3f199b41
7 changed files with 416 additions and 47 deletions
+7
View File
@@ -24,6 +24,13 @@ owner's; a `v*` tag runs the release build in
# Completed Steps
- 2026-10-14: Stopped `snapshot create --prune` pruning after a backup
that found nothing in a configured path
([issue #388](https://git.eeqj.de/sneak/vaultik/issues/388)), as in
the mount point of a volume that is not mounted. Such a prune could
delete every snapshot still holding that path's files. A configured
path that is a symlink into such a volume now fails the backup.
- 2026-10-14: Stopped `snapshot create --prune` pruning after a backup
that skipped files it could not read
([issue #382](https://git.eeqj.de/sneak/vaultik/issues/382)). Such a