Martin,

Thanks for the detail explanation. But it still doesn't work for me. Is
there something that's been fixed in CVS? I'm using version 2.4.6 from the
tar.

I also notice you put the include and exclude statements between the two
directory specs, rather than up front with the other tags - but it still
fails to copy the directories I'm after (without their files).

Here's what I see, in a case where the source machine has a 'data'
subdirectory at the /web/subdir/ftp/subdir2/*/data/* level, and this
directory does not yet exist on the machine the copying is done to (all the
other files are current on both machines, directory structure is the same on
both):

rsync -e ssh -n -avv --include '*/data/' --exclude '*/data/*' 
somedomain.com:/web/subdir/ftp/subdir2/ /web/subdir/ftp/subdir2/
receiving file list ... done
total: matches=0  tag_hits=0  false_alarms=0 data=0
wrote 41 bytes  read 1718 bytes  152.96 bytes/sec
total size is 3015681  speedup is 1714.43

The same command withouth any include or exclude statements shows:

receiving file list ... done
H_W/data/Testof322b1.zip
H_W/data/df20001018Filters.zip
WPG/data/WPGStaars.zip
oppen/data/AdventServer.zip
oppen/data/PortiaServer.zip
total: matches=0  tag_hits=0  false_alarms=0 data=0
wrote 36 bytes  read 1893 bytes  154.32 bytes/sec
total size is 236404348  speedup is 122552.80

So if I don't want those files and do want to get those directories, I
should install the CVS version?

Whit

On Sun, Oct 29, 2000 at 02:27:32PM +1100, Martin Pool wrote:
> So you have a directory structure like this:
> 
> /tmp/test
> |-- bar
> |   |-- a
> |   |   |-- a
> |   |   |-- c
> |   |   `-- squick.c
> |   |-- b
> |   |   `-- squick.c
> |   `-- squick.c
> `-- foo
>     |-- a
>     |   |-- a
>     |   |-- c
>     |   `-- squick.c
>     |-- b
>     |   `-- squick.c
>     `-- squick.c
> 
> 10 directories, 6 files
> 
> And you want to copy everything but the contents of the 'a'
> directory, although you want to copy the 'a' directory.
> 
> Remember that include and exclude patterns are applied in order.  If
> you specifically include 'a' but exclude everything starting with 'a'
> you should be OK:
> 
>   rsync -avv /tmp/test/ --include '*/a/' --exclude '*/a/*' /tmp/test2/

 \/\/ I-I I T 
 Blauvelt
 [EMAIL PROTECTED]

Reply via email to