[Box Backup] Include/Exclude features

Joe Krahn boxbackup@fluffy.co.uk
Tue, 14 Dec 2004 13:21:18 -0500


It may be useful to have more options for include/exclude, for example 
file size limits.

A more complex example is to not backup files that are known unchanged 
from a distribution package. For an RPM based system, one could backup a 
list of installed RPMS, run rpm --verify, and exclude all unchanged 
package files.

This could easily be handled by allowing the exclude directive to 
specify a filename containing a list of filenames.

An alternative to providing more complex selections would be to have an 
external executable/script do the directory recursion, and supply the 
entire list of files/dirs (i.e. plain old find would provide a lot of 
options). But, it's not as simple as I had thought, because 
SyncDirectory is interleaved with UpdateItems.

So, for now, I would suggest:

[Exclude|AlwaysInclude][File|Dir][|sRegex][|From]

where the From suffix means read filenames from the specified file(s).

I suspect that a really big file list will result in a lot of overhead,
but performance is not as important as reliability for now.

A few more things:

I would change the ExcludeFile class to FileSelection class, or similar, 
since it is also used for Include lists.

I assume that STRUCTURE_PATCKING_FOR_WIRE_USE_HEADERS is a typo and is 
supposed to be STRUCTURE_PATCHING_FOR_WIRE_USE_HEADERS. (It's uniform, 
so I assume a global search-replace...)

Joe