A common use case of backup software for me is to restore an individual file that I found has been messed up. This is straightforward to do with restic, given the problem becomes apparent before any further snapshots are taken - just restore the latest version. Yet, when the messed-up file has been sitting there for some time, with multiple snapshots taken inbetween, it becomes cumbersome to identify the exact snapshot that contains the file in its previous, healthy state.
So what I would like to see is a history of a particular file across snapshots, that clearly identifies when in the past that file has changed. This would allow me to select a snapshot from which I can then restore the file. I think, currently this is possible only by manually browsing the mounted repository, checking the file in each snapshot, going back in time one by one.
This feature can be thought of as an extension of the find command, adding the following information/processing:
- in addition to the “snapshot contains file” information the output should include the file’s hash in each containing snapshot
- the snapshot’s timestamp should be given
- the resulting list of hash-per-snapshot records should be sorted by timestamp and grouped by hash, so that only the youngest snapshot containing the file with a particular hash is shown
Does this make sense to others? Would that be hard to implement?