On 12/21/22 11:04 AM, Patrik Dufresne wrote:
I'm Forwarding your conversation to rdiff-backup mailing list.

 From Bob Nichol's answer (yesterday) I understand that restoring a given
version of a file is by a reverse mechanism, that is, rdiff-backup starts
with the latest (most recent) version of a file and then goes backwards
until it finds the desired version.

It might not be totally true. I know rdiff-backup also generates a snapshot
of the files. I don't know exactly the mechanic about those. Possible Eric
Zolf may have more detail about when those snapshot get used in the restore
process.

Indeed, when a file is deleted from the source, in the next rdiff-backup run the 
"increment" that gets stored will be a snapshot of the most recent version of the file. 
When working backward through the increments during a restore, encountering a snapshot just means, 
"Throw away whatever you have built up thus far and use this."

When restoring a file that does not exist in the current mirror, the first 
increment encountered (working backward) _must_ be a snapshot, else a fatal 
error is flagged and you see a lengthy Python backtrace with an obscure 
reference to the cause buried inside. (Don't you just _love_ those backtraces? 
Python encourages using backtraces as a principal means of reporting exceptions 
to the end user. Personally, I feel that any backtrace presented to the user 
should be considered a bug in the code.)

--
Bob Nichols     "NOSPAM" is really part of my email address.
                Do NOT delete it.


Reply via email to