mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-10-20 12:54:15 -04:00
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:
1 parent
6d19c6742c
commit
1bfbf40bd5
4 files changed
+23
-1
No files matched your search
@@ -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)
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user