rsync exclude/include

Dave Dykstra dwd at bell-labs.com
Fri Nov 16 03:57:08 EST 2001


On Thu, Nov 15, 2001 at 05:17:32PM +0100, Thomas Schweikle wrote:
...
> > Wait, if i386* matches directories and not just files you'll need
> >
> >    + /iso
> >    + /iso/1.5.*
> >    + /iso/1.5.*/i386**
> >    - *
> >
> > so that it will include all files below the i386* directories.
> > Any double asterisk in a pattern tells the matching routine to
> > go beyond slashes.
> 
> No. No solution. No files. Nothing. Definitively something wrong with these
> matching routines.

There is one known bug with the matching routines, described at

    http://lists.samba.org/pipermail/rsync/1999-October/001440.html

but you're not hitting it because it's only when patterns don't begin with
a slash.  Other than that, the only thing wrong with them is that they
are hard to understand and aren't as flexible as many people would like, 
but again, they're flexible enough for your situation.

Did you try my less simple example with the 6 patterns?  Did you
try applying the patch that gives more debugging information?
Here's another idea: try running it without the "- *" and with a -n (to not
actually copy) and see some of the file names -v prints out; could they
match some of your patterns except for the beginning /?  I was assuming
your patterns began with "iso" because of the examples you gave, but I see
in looking back that the command line you gave had a "iso/" in the source
which means that iso would not be included in the path, so you would just
use
   + /1.5.*
   + /1.5.*/i386**
   - *

I just ran that list against "ftp3.sourceforge.net::netbsd/iso/" and it
worked.

- Dave Dykstra




More information about the rsync mailing list