--compare-dest and missing files

Mike Daws mike at pienetworks.com
Fri Oct 15 03:39:47 GMT 2004


Hi,

 I've been attempting to use --compare-dest DIR  SOURCE/ DEST/

If a file exists in DEST but is different to the corresponding file in
DIR, then the file is updated in DEST. This is what I would expect.

I have found that files which do not exist in DEST but do exist in DIR
and SOURCE, are not created.
Simply touching the file in DEST causes it to be updated.

This behaviour seems unuseful!


Here is an example on a single filesystem; I have experienced the same
behaviour over a network.


CASE 1
-----------------------------------------------------------

$ ls -l /tmp/SOURCE/ /tmp/DEST/ /tmp/DIR/

DIR/:
total 4
-rw-r--r--    1 mike     users          19 Oct 15 10:14 foo

DEST/:
total 0

SOURCE/:
total 4
-rw-r--r--    1 mike     users          19 Oct 15 10:14 foo


$ rsync -av --compare-dest /tmp/DIR/ /tmp/SOURCE/ /tmp/DEST/

building file list ... done
wrote 69 bytes  read 20 bytes  178.00 bytes/sec

$ ls -l /tmp/DEST/
total 0
$


CASE 2
-----------------------------------------------------------

$ touch /tmp/DEST/foo
$ ls -l /tmp/SOURCE/ /tmp/DEST/ /tmp/DIR/

/tmp/DIR/:
total 4
-rw-r--r--    1 mike     users          19 Oct 15 10:14 foo

/tmp/DEST/:
total 0
-rw-r--r--    1 mike     users           0 Oct 15 10:43 foo

/tmp/SOURCE/:
total 4
-rw-r--r--    1 mike     users          19 Oct 15 10:14 foo

$ rsync -av --compare-dest /tmp/DIR/ /tmp/SOURCE/ /tmp/DEST/

building file list ... done
foo
wrote 128 bytes  read 36 bytes  328.00 bytes/sec
total size is 19  speedup is 0.12

$ ls -l /tmp/DEST/

total 4
-rw-r--r--    1 mike     users          19 Oct 15 10:14 foo

$


I'm using  rsync  version 2.5.4  protocol version 26 (and use the same
on both ends when doing this over a network). I know it is a little
outdated, so I searched the rsync cvs.log for references to
--compare-dest. I found nothing relevant to this 'problem'.


cheers,

Mike





More information about the rsync mailing list