reversing order of diffs.

Donovan Baarda abo@minkirri.apana.org.au
Sun, 17 Mar 2002 15:25:37 +1100


On Sat, Mar 16, 2002 at 11:36:39AM -0800, Ben Escoto wrote:
> >>>>> "DB" == Donovan Baarda <abo@minkirri.apana.org.au>
> >>>>> wrote the following on Sat, 16 Mar 2002 11:04:23 +1100
[...]
>   DB> Don't you mean you get low latency by _not_ using a big
>   DB> diff/sig? You can pipeline a file at a time?
[...]
>   DB> smart pruning allows you to "walk" through a directory tree
>   DB> finding matching files/directorys, and avoids walking through
>   DB> any directories that are totaly excluded. For example;
>   DB> "--exclude **/spool/news/** --include **" will include
>   DB> everything except things in directories matching "/spool/news/",
>   DB> and will not walk through them. This can save heaps of time :-)
> 
> Ok, I think rdiff-backup does this now.  So if a directory is matched
> by an exclude regular expression then no files in the directory will
> be examined.

It can get a little more complicated if you have include/exclude lists. For
example;

--include /home/*/arc/** --exclude /home/**

In this case you can't prune /home/abo/, but you can prune home/abo/test/.
The way I have scan.py set up, you can optionaly do wierd things like
exclude directories, but include their contents with things like;

--exclude **/ --include **.c

This sorta exceeds what rsync can do.

>     I was thinking of the opposite problem.  Say you want to backup
> only *foo files, but want to search the whole directory structure for
> them.  Directories should be included, but only if they have *foo
> files somewhere below them.

I don't believe there is any way to prune directories if you need to find
particular files.

-- 
----------------------------------------------------------------------
ABO: finger abo@minkirri.apana.org.au for more info, including pgp key
----------------------------------------------------------------------