Fix --whole-file problem that caused it to be the default even for

remote connections.  (Frank Schulz)

<http://lists.samba.org/pipermail/rsync/2002-March/006526.html>

Also, add documentation for whole_file and add assertions that the
value is valid.
This commit is contained in:
Martin Pool committed 2002-03-19 03:21:53 +00:00
1 parent 6d19c6742c
commit 1bfbf40bd5
4 files changed
+23 -1

No files matched your search

+3
View File
@@ -14,3 +14,6 @@ rsync changes since last release
* Fix minor memory leak in socket code. (Dave Dykstra, Martin
Pool.)
* Fix --whole-file problem that caused it to be the default even
for remote connections. (Frank Schulz)
+2
View File
@@ -403,6 +403,8 @@ void recv_generator(char *fname,struct file_list *flist,int i,int f_out)
return;
}
assert(whole_file == 0 || whole_file == 1);
/* We should have decided by now.* /
if (whole_file) {
write_int(f_out,i);
send_sums(NULL,f_out);
+16 -1
View File
@@ -22,7 +22,18 @@
#include "popt.h"
int make_backups = 0;
/**
* Should we send the whole file as literal data rather than trying to
* create an incremental diff? This is on by default when both source
* and destination are local and we're not doing a batch delta,
* because there it's no cheaper to read the whole basis file than to
* just rewrite it.
*
* -1 means "unspecified", i.e. depend on is_local; 0 means off; 1 means on.
**/
int whole_file = -1;
int copy_links = 0;
int preserve_links = 0;
int preserve_hard_links = 0;
@@ -616,8 +627,13 @@ void server_options(char **args,int *argc)
argstr[x++] = 'l';
if (copy_links)
argstr[x++] = 'L';
assert(whole_file == 0 || whole_file == -1);
if (whole_file)
argstr[x++] = 'W';
else
args[ac++] = "--no-whole-file";
if (preserve_hard_links)
argstr[x++] = 'H';
if (preserve_uid)
@@ -758,7 +774,6 @@ void server_options(char **args,int *argc)
args[ac++] = compare_dest;
}
*argc = ac;
}
+2
View File
@@ -217,6 +217,8 @@ enum logcode {FNONE=0, FERROR=1, FINFO=2, FLOG=3 };
#include <compat.h>
#endif
#include <assert.h>
#define BOOL int