On Thu, Jan 24, 2002 at 12:22:58PM -0600, Dave Dykstra wrote: > > Yes, I'll look at doing some documentation. What about a paragraph titled > > ``About batch mode'' with a little explanation how it works, how it differs > > from normal rsync operation and a small example? > > Sounds like a good idea. Of course, refer to the section under the entries > for --write-batch and --read-batch.
OK, I may need help with the markup part though, so I'll post a rough draft here first. > > > Interesting tidbit: it apparently works with -W, because I noticed that > > > when I make a small change to a large file the rsync_delta* file is > > > large if my original destination is on the same machine as the source > > > (because in that case -W is implied) but if my original destination is > > > on a remote machine the rsync_delta* file is small, and both cases > > > produce the correct result. Maybe -W should never be implied when > > > --write-batch is on. > > > > Meaning that with --write-batch you'd always get the small delta file (-W > > turned off)? > > Yes. How about the patch below? It disables the automatic setting of -W (whole file mode) when a local target directory is specified with --write-batch. Index: main.c =================================================================== RCS file: /cvsroot/rsync/main.c,v retrieving revision 1.137 diff -u -r1.137 main.c --- main.c 23 Jan 2002 05:51:07 -0000 1.137 +++ main.c 25 Jan 2002 02:20:00 -0000 @@ -656,6 +656,7 @@ extern char *shell_cmd; extern int rsync_port; extern int whole_file; + extern int write_batch; extern int read_batch; int rc; @@ -709,8 +710,12 @@ p = find_colon(argv[argc-1]); if (!p) { local_server = 1; - /* disable "rsync algorithm" when both sides local */ - whole_file = 1; + /* + * disable "rsync algorithm" when both sides local, + * except when creating a batch update + */ + if (!write_batch) + whole_file = 1; } else if (p[1] == ':') { *p = 0; return start_socket_client(argv[argc-1], p+2, argc-1, argv); -- Jos Backus _/ _/_/_/ Santa Clara, CA _/ _/ _/ _/ _/_/_/ _/ _/ _/ _/ [EMAIL PROTECTED] _/_/ _/_/_/ use Std::Disclaimer;