batch mode maintainability

Dave Dykstra dwd at bell-labs.com
Thu Jan 17 07:52:08 EST 2002


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




More information about the rsync mailing list