On Tue, Jan 15, 2002 at 11:10:55AM -0801, Jos Backus wrote: > On Tue, Jan 15, 2002 at 12:29:05PM -0600, Dave Dykstra wrote: ... > > Here's what I > > tried: > > mkdir s d1 > > echo "rev 1" >f1 > > echo "rev 1" >f2 > > rm -f rsync_*.* > > rsync -av --write-batch s/ d1/ > > rsync -av --read-batch `echo rsync_argvs.*|sed 's/.*\.//'` s/ d1/ > > > > Nothing got copied. Isn't that supposed to work, Jos? > > Yes, but the patch is broken (again, my apologies). Can you try this with the > patch below (which I sent to Martin only for fear of embarrassing myself even > more in public :)?
I applied the patch to the current development CVS and it gets further but still has trouble. Using the above commands, the first --write-batch now actually copies the files in addition to creating the rsync_* files. However, when I mkdir d2 and run the second command replacing "d1/" with "d2/" it dumps core. Keep in mind that by default on a local system rsync 2.5.0 and later defaults to the -W option which disables the rsync algorithm. I thought that might make a difference so I also tried sending to a remote machine. First, I note that the rsync_argvs.* files are totally useless because they completely recreate the original command line, and who wants to copy to the exact same place twice? The idea is to copy the same thing to more than one machine. Oh, maybe the machine name is ignored with --read-batch? Nit: the rsync_argv file is missing a terminating newline. I see that the remote side is also creating an extra rsync_argv.* file in the user's home directory, please stop creating those. Copying the rsync_* files to the remote side and running a --read-batch command there also dumps core. Does it work for you? - Dave