One limitation of the way duplicacy works is that you can’t remove (or preserve, for that matter) specific files from your backup. I’d be curious to understand what kind of operations would be necessary to make this possible? In other words: what would a pruning option need to do to remove a specified file from the storage?
Some initial (high-level and amateurish) thoughts:
- Identify all snapshots that include the file in question (based on its path, so if the file has been renamed, identifying those “versions” would need to be done manually)
- Identify the chunks belonging to the file (candidates for deletion)
- Determine whether any other snapshots refer to any of the candidates and remove those chunks from the candidate list
- Determine whether any of the candidate chunks are used by any other files in the snapshots containing our file (and remove those from the list too)
- Fossilize the remaining candidate chunks.
From here the process will be the same as with the ordinary pruning process, i.e. the files will not be immediately removed but soon, in one of the coming prune actions.