rprintf(FINFO, "flist->length=%.0f\n",
(double) fptr[i]->length);
rprintf(FINFO, "flist->mode=%#o\n", (int) fptr[i]->mode);
---- orig/flist.c 2004-09-21 09:40:27
+--- orig/flist.c 2005-01-01 21:11:00
+++ flist.c 2004-07-03 20:15:41
@@ -59,6 +59,7 @@ extern int relative_paths;
extern int implied_dirs;
file->length = file_length;
file->mode = mode;
file->uid = uid;
-@@ -868,6 +882,7 @@ skip_excludes:
+@@ -873,6 +887,7 @@ skip_excludes:
file->flags = flags;
file->modtime = st.st_mtime;
file->length = st.st_size;
file->mode = st.st_mode;
file->uid = st.st_uid;
---- orig/generator.c 2004-11-03 20:30:45
+--- orig/generator.c 2005-01-01 21:11:00
+++ generator.c 2004-11-03 23:02:12
-@@ -92,7 +92,7 @@ static int skip_file(char *fname, struct
+@@ -96,7 +96,7 @@ static int unchanged_file(char *fn, stru
if (ignore_times)
return 0;
}
-@@ -486,7 +486,7 @@ static void recv_generator(char *fname,
+@@ -513,7 +513,7 @@ static void recv_generator(char *fname,
}
if (update_only && fnamecmp_type == FNAMECMP_FNAME
if (verbose > 1)
rprintf(FINFO, "%s is newer\n", safe_fname(fname));
return;
---- orig/options.c 2004-10-14 17:11:40
+--- orig/options.c 2005-01-01 21:11:00
+++ options.c 2004-07-03 20:15:41
@@ -48,6 +48,7 @@ int preserve_devices = 0;
int preserve_uid = 0;
int update_only = 0;
int cvs_exclude = 0;
int dry_run = 0;
-@@ -253,6 +254,7 @@ void usage(enum logcode F)
+@@ -260,6 +261,7 @@ void usage(enum logcode F)
rprintf(F," -g, --group preserve group\n");
rprintf(F," -D, --devices preserve devices (root only)\n");
rprintf(F," -t, --times preserve times\n");
rprintf(F," -S, --sparse handle sparse files efficiently\n");
rprintf(F," -n, --dry-run show what would have been transferred\n");
rprintf(F," -W, --whole-file copy whole files, no incremental checks\n");
-@@ -355,6 +357,7 @@ static struct poptOption long_options[]
+@@ -366,6 +368,7 @@ static struct poptOption long_options[]
{"group", 'g', POPT_ARG_NONE, &preserve_gid, 0, 0, 0 },
{"devices", 'D', POPT_ARG_NONE, &preserve_devices, 0, 0, 0 },
{"times", 't', POPT_ARG_NONE, &preserve_times, 0, 0, 0 },
{"checksum", 'c', POPT_ARG_NONE, &always_checksum, 0, 0, 0 },
{"verbose", 'v', POPT_ARG_NONE, 0, 'v', 0, 0 },
{"quiet", 'q', POPT_ARG_NONE, 0, 'q', 0, 0 },
-@@ -1007,6 +1010,8 @@ void server_options(char **args,int *arg
+@@ -1081,6 +1084,8 @@ void server_options(char **args,int *arg
argstr[x++] = 'D';
if (preserve_times)
argstr[x++] = 't';
}
change_uid = am_root && preserve_uid && st->st_uid != file->uid;
---- orig/rsync.h 2004-11-03 20:30:45
+--- orig/rsync.h 2005-01-01 21:11:01
+++ rsync.h 2004-07-03 20:15:41
@@ -54,6 +54,7 @@
#define XMIT_HAS_IDEV_DATA (1<<9)
/* These flags are used in the live flist data. */
-@@ -112,6 +113,7 @@
+@@ -114,6 +115,7 @@
#define PERMS_REPORT (1<<0)
#define PERMS_SKIP_MTIME (1<<1)
#define FULL_FLUSH 1
#define NORMAL_FLUSH 0
-@@ -434,6 +436,7 @@ struct file_struct {
+@@ -436,6 +438,7 @@ struct file_struct {
struct hlink *links;
} link_u;
time_t modtime;
uid_t uid;
gid_t gid;
mode_t mode;
---- orig/rsync.yo 2004-10-06 00:12:16
+--- orig/rsync.yo 2005-01-01 21:11:01
+++ rsync.yo 2004-07-03 20:15:41
@@ -330,6 +330,7 @@ verb(
-g, --group preserve group
-S, --sparse handle sparse files efficiently
-n, --dry-run show what would have been transferred
-W, --whole-file copy whole files, no incremental checks
-@@ -610,6 +611,11 @@ cause the next transfer to behave as if
+@@ -628,6 +629,11 @@ cause the next transfer to behave as if
updated (though the rsync algorithm will make the update fairly efficient
if the files haven't actually changed, you're much better off using -t).
if [ -z "$failed" ] ; then
return 0
else
---- orig/tls.c 2004-09-23 05:45:24
+--- orig/tls.c 2005-01-01 21:11:01
+++ tls.c 2004-07-03 20:15:41
@@ -39,6 +39,7 @@
+ char mtimebuf[50];
+ char atimebuf[50];
char linkbuf[4096];
+ int ret;
- if (do_lstat(fname, &buf) == -1)
-@@ -96,19 +113,8 @@ static void list_file(const char *fname)
+@@ -102,19 +119,8 @@ static void list_file(const char *fname)
permstring(permbuf, buf.st_mode);
/* TODO: Perhaps escape special characters in fname? */
-@@ -119,24 +125,55 @@ static void list_file(const char *fname)
+@@ -125,24 +131,55 @@ static void list_file(const char *fname)
(long)minor(buf.st_rdev));
} else /* NB: use double for size since it might not fit in a long. */
printf("%12.0f", (double)buf.st_size);
..wayne..
---- orig/clientserver.c 2004-11-27 18:27:35
+--- orig/clientserver.c 2005-01-01 21:11:00
+++ clientserver.c 2004-08-10 15:44:15
-@@ -48,12 +48,14 @@ extern int no_detach;
+@@ -49,12 +49,14 @@ extern int no_detach;
extern int default_af_hint;
extern char *bind_address;
extern struct exclude_list_struct server_exclude_list;
/**
* Run a client connected to an rsyncd. The alternative to this
* function for remote-shell connections is do_cmd().
-@@ -300,26 +302,28 @@ static int rsync_module(int f_in, int f_
+@@ -304,26 +306,28 @@ static int rsync_module(int f_in, int f_
/* TODO: Perhaps take a list of gids, and make them into the
* supplementary groups. */
add_exclude(&exclude_list, default_cvsignore,
XFLG_WORD_SPLIT | XFLG_WORDS_ONLY);
---- orig/flist.c 2004-09-21 09:40:27
+--- orig/flist.c 2005-01-01 21:11:00
+++ flist.c 2004-08-12 18:59:28
@@ -40,10 +40,9 @@ extern int module_id;
extern int ignore_errors;
return 1;
return 0;
}
-@@ -978,15 +971,7 @@ void send_file_name(int f, struct file_l
+@@ -983,15 +976,7 @@ void send_file_name(int f, struct file_l
if (recursive && S_ISDIR(file->mode)
&& !(file->flags & FLAG_MOUNT_POINT)) {
}
}
-@@ -997,6 +982,7 @@ static void send_directory(int f, struct
+@@ -1002,6 +987,7 @@ static void send_directory(int f, struct
struct dirent *di;
char fname[MAXPATHLEN];
unsigned int offset;
char *p;
d = opendir(dir);
-@@ -1020,18 +1006,7 @@ static void send_directory(int f, struct
+@@ -1025,18 +1011,7 @@ static void send_directory(int f, struct
offset++;
}
for (errno = 0, di = readdir(d); di; errno = 0, di = readdir(d)) {
char *dname = d_name(di);
-@@ -1052,6 +1027,8 @@ static void send_directory(int f, struct
+@@ -1057,6 +1032,8 @@ static void send_directory(int f, struct
rsyserr(FERROR, errno, "readdir(%s)", dir);
}
closedir(d);
}
-@@ -1071,6 +1048,7 @@ struct file_list *send_file_list(int f,
+@@ -1076,6 +1053,7 @@ struct file_list *send_file_list(int f,
char *p, *dir, olddir[sizeof curr_dir];
char lastpath[MAXPATHLEN] = "";
struct file_list *flist;
int64 start_write;
int use_ff_fd = 0;
-@@ -1091,6 +1069,10 @@ struct file_list *send_file_list(int f,
+@@ -1096,6 +1074,10 @@ struct file_list *send_file_list(int f,
exit_cleanup(RERR_FILESELECT);
}
use_ff_fd = 1;
}
}
-@@ -1121,6 +1103,15 @@ struct file_list *send_file_list(int f,
+@@ -1126,6 +1108,15 @@ struct file_list *send_file_list(int f,
}
}
if (link_stat(fname, &st, keep_dirlinks) != 0) {
if (f != -1) {
io_error |= IOERR_GENERAL;
---- orig/options.c 2004-11-27 18:27:35
+--- orig/options.c 2005-01-01 21:11:00
+++ options.c 2004-10-14 17:26:10
@@ -296,6 +296,7 @@ void usage(enum logcode F)
rprintf(F," --include=PATTERN don't exclude files matching PATTERN\n");
+ rprintf(F," -E same as --exclude='. -p /.rsync-excludes'\n");
rprintf(F," -0, --from0 all *-from file lists are delimited by nulls\n");
rprintf(F," --version print version number\n");
- rprintf(F," --blocking-io use blocking I/O for the remote shell\n");
-@@ -392,6 +393,7 @@ static struct poptOption long_options[]
+ rprintf(F," --port=PORT specify double-colon alternate port number\n");
+@@ -393,6 +394,7 @@ static struct poptOption long_options[]
{"ignore-errors", 0, POPT_ARG_NONE, &ignore_errors, 0, 0, 0 },
{"blocking-io", 0, POPT_ARG_VAL, &blocking_io, 1, 0, 0 },
{"no-blocking-io", 0, POPT_ARG_VAL, &blocking_io, 0, 0, 0 },
+ {0, 'E', POPT_ARG_NONE, 0, 'E', 0, 0 },
{0, 'P', POPT_ARG_NONE, 0, 'P', 0, 0 },
+ {"port", 0, POPT_ARG_INT, &rsync_port, 0, 0, 0 },
{"log-format", 0, POPT_ARG_STRING, &log_format, 0, 0, 0 },
- {"bwlimit", 0, POPT_ARG_INT, &bwlimit, 0, 0, 0 },
-@@ -667,6 +669,11 @@ int parse_arguments(int *argc, const cha
+@@ -668,6 +670,11 @@ int parse_arguments(int *argc, const cha
am_sender = 1;
break;
case 'P':
do_progress = 1;
keep_partial = 1;
---- orig/rsync.h 2004-11-27 17:53:24
+--- orig/rsync.h 2005-01-01 21:11:01
+++ rsync.h 2004-09-22 08:48:53
@@ -111,6 +111,7 @@
#define XFLG_WORDS_ONLY (1<<2)
};
struct exclude_list_struct {
---- orig/rsync.yo 2004-11-27 17:53:24
+--- orig/rsync.yo 2005-01-01 21:11:01
+++ rsync.yo 2004-08-13 00:43:31
@@ -366,6 +366,7 @@ verb(
--include=PATTERN don't exclude files matching PATTERN
+ -E same as --exclude='. -p /.rsync-excludes'
-0 --from0 all file lists are delimited by nulls
--version print version number
- --blocking-io use blocking I/O for the remote shell
-@@ -1076,24 +1077,32 @@ The exclude and include patterns specifi
+ --port=PORT specify double-colon alternate port number
+@@ -1105,24 +1106,32 @@ The exclude and include patterns specifi
selection of which files to transfer and which files to skip.
Rsync builds an ordered list of include/exclude options as specified on
Let's say that we want to match two source files, one with an absolute
path of "/home/me/foo/bar", and one with a path of "/home/you/bar/baz".
-@@ -1140,23 +1149,27 @@ because rsync did not descend through th
+@@ -1169,23 +1178,27 @@ because rsync did not descend through th
hierarchy.
Note also that the --include and --exclude options take one pattern
it() if the pattern ends with a / then it will only match a
directory, not a file, link, or device.
-@@ -1169,22 +1182,31 @@ itemize(
+@@ -1198,22 +1211,31 @@ itemize(
single asterisk pattern "*" will stop at slashes.
it() if the pattern contains a / (not counting a trailing /) or a "**"
)
The +/- rules are most useful in a list that was read from a file, allowing
-@@ -1231,8 +1253,160 @@ itemize(
+@@ -1260,8 +1282,160 @@ itemize(
it() --include "*/" --include "*.c" --exclude "*" would include all
directories and C source files
it() --include "foo/" --include "foo/bar.c" --exclude "*" would include
Be sure to run "make proto" before "make".
---- orig/generator.c 2004-11-27 17:53:24
+--- orig/generator.c 2005-01-01 21:11:00
+++ generator.c 2004-11-27 18:12:57
@@ -44,6 +44,7 @@ extern int size_only;
extern OFF_T max_size;
extern int always_checksum;
extern char *partial_dir;
extern char *basis_dir[];
-@@ -247,6 +248,92 @@ static void generate_and_send_sums(int f
+@@ -239,6 +240,92 @@ static void generate_and_send_sums(int f
}
/*
* Acts on file number @p i from @p flist, whose name is @p fname.
-@@ -501,6 +588,15 @@ static void recv_generator(char *fname,
+@@ -493,6 +580,15 @@ static void recv_generator(char *fname,
} else
partialptr = NULL;
if (statret == -1) {
if (preserve_hard_links && hard_link_check(file, HL_SKIP))
return;
-@@ -529,6 +625,8 @@ static void recv_generator(char *fname,
+@@ -521,6 +617,8 @@ static void recv_generator(char *fname,
if ((link_dest || copy_dest) && fnamecmp_type != FNAMECMP_FNAME)
;
else if (unchanged_file(fnamecmp, file, &st)) {
if (fnamecmp_type == FNAMECMP_FNAME)
set_perms(fname, file, &st, PERMS_REPORT);
-@@ -600,8 +698,24 @@ prepare_to_open:
+@@ -592,8 +690,24 @@ prepare_to_open:
notify_others:
write_int(f_out, i);
if (dry_run || read_batch)
return;
---- orig/main.c 2004-11-27 17:53:24
+--- orig/main.c 2005-01-01 21:11:00
+++ main.c 2004-11-27 18:13:51
@@ -48,6 +48,7 @@ extern int keep_dirlinks;
extern int preserve_hard_links;
/* The receiving side mustn't obey this, or an existing symlink that
* points to an identical file won't be replaced by the referent. */
---- orig/options.c 2004-11-27 18:27:35
+--- orig/options.c 2005-01-01 21:11:00
+++ options.c 2004-11-29 01:36:48
@@ -86,6 +86,7 @@ int copy_unsafe_links = 0;
int size_only = 0;
rprintf(F," -P equivalent to --partial --progress\n");
rprintf(F," -z, --compress compress file data\n");
rprintf(F," -C, --cvs-exclude auto ignore files in the same way CVS does\n");
-@@ -383,6 +385,7 @@ static struct poptOption long_options[]
+@@ -384,6 +386,7 @@ static struct poptOption long_options[]
{"compare-dest", 0, POPT_ARG_STRING, 0, OPT_COMPARE_DEST, 0, 0 },
{"copy-dest", 0, POPT_ARG_STRING, 0, OPT_COPY_DEST, 0, 0 },
{"link-dest", 0, POPT_ARG_STRING, 0, OPT_LINK_DEST, 0, 0 },
/* TODO: Should this take an optional int giving the compression level? */
{"compress", 'z', POPT_ARG_NONE, &do_compression, 0, 0, 0 },
{"stats", 0, POPT_ARG_NONE, &do_stats, 0, 0, 0 },
-@@ -957,10 +960,10 @@ int parse_arguments(int *argc, const cha
+@@ -958,10 +961,10 @@ int parse_arguments(int *argc, const cha
am_server ? "server" : "client");
return 0;
#endif
return 0;
}
} else {
-@@ -1237,6 +1240,9 @@ void server_options(char **args,int *arg
- }
+@@ -1240,6 +1243,9 @@ void server_options(char **args,int *arg
+ args[ac++] = "--no-relative";
}
+ if (fuzzy_basis && am_sender)
*argc = ac;
return;
---- orig/receiver.c 2004-11-27 17:57:31
+--- orig/receiver.c 2005-01-01 21:11:00
+++ receiver.c 2004-11-27 18:15:01
-@@ -320,6 +320,27 @@ static int receive_data(int f_in, char *
+@@ -323,6 +323,27 @@ static int receive_data(int f_in, char *
}
static void discard_receive_data(int f_in, OFF_T length)
{
receive_data(f_in, NULL, -1, 0, NULL, -1, length);
-@@ -450,6 +471,10 @@ int recv_files(int f_in, struct file_lis
+@@ -453,6 +474,10 @@ int recv_files(int f_in, struct file_lis
case FNAMECMP_BACKUP:
fnamecmp = get_backup_name(fname);
break;
case FNAMECMP_BASIS_DIR:
default:
pathjoin(fnamecmpbuf, sizeof fnamecmpbuf,
---- orig/rsync.h 2004-11-27 17:53:24
+--- orig/rsync.h 2005-01-01 21:11:01
+++ rsync.h 2004-11-03 22:53:09
@@ -125,6 +125,7 @@
#define FNAMECMP_FNAME 0x80
/* Log-message categories. FLOG is only used on the daemon side to
---- orig/rsync.yo 2004-11-29 01:31:40
+--- orig/rsync.yo 2005-01-01 21:11:01
+++ rsync.yo 2004-11-27 18:15:22
@@ -358,6 +358,7 @@ verb(
--compare-dest=DIR also compare received files relative to DIR
case '?':
/* Match anything but '/'. */
if (*text == '/')
---- orig/options.c 2004-11-27 18:27:35
+--- orig/options.c 2005-01-01 21:11:00
+++ options.c 2004-10-14 17:22:51
@@ -94,6 +94,7 @@ int max_delete = 0;
OFF_T max_size = 0;
rprintf(F," -0, --from0 all *-from file lists are delimited by nulls\n");
+ rprintf(F," --ignore-case ignore case when comparing filenames\n");
rprintf(F," --version print version number\n");
+ rprintf(F," --port=PORT specify double-colon alternate port number\n");
rprintf(F," --blocking-io use blocking I/O for the remote shell\n");
- rprintf(F," --no-blocking-io turn off --blocking-io\n");
-@@ -346,6 +348,7 @@ static struct poptOption long_options[]
+@@ -347,6 +349,7 @@ static struct poptOption long_options[]
{"include", 0, POPT_ARG_STRING, 0, OPT_INCLUDE, 0, 0 },
{"exclude-from", 0, POPT_ARG_STRING, 0, OPT_EXCLUDE_FROM, 0, 0 },
{"include-from", 0, POPT_ARG_STRING, 0, OPT_INCLUDE_FROM, 0, 0 },
{"safe-links", 0, POPT_ARG_NONE, &safe_symlinks, 0, 0, 0 },
{"help", 'h', POPT_ARG_NONE, 0, 'h', 0, 0 },
{"backup", 'b', POPT_ARG_NONE, &make_backups, 0, 0, 0 },
-@@ -1181,6 +1184,9 @@ void server_options(char **args,int *arg
+@@ -1182,6 +1185,9 @@ void server_options(char **args,int *arg
args[ac++] = arg;
}
make proto
---- orig/io.c 2004-11-25 16:32:40
+--- orig/io.c 2005-01-01 21:11:00
+++ io.c 2004-07-03 20:17:10
@@ -243,6 +243,14 @@ static void read_msg_fd(void)
read_loop(fd, buf, 4);
case MSG_INFO:
case MSG_ERROR:
if (remaining >= sizeof line) {
---- orig/main.c 2004-11-27 17:53:24
+--- orig/main.c 2005-01-01 21:11:00
+++ main.c 2004-08-13 08:24:23
@@ -42,6 +42,7 @@ extern int list_only;
extern int local_server;
if (argc == 0)
list_only = 1;
---- orig/options.c 2004-11-27 17:53:24
+--- orig/options.c 2005-01-01 21:11:00
+++ options.c 2004-11-27 18:04:22
@@ -88,8 +88,10 @@ int daemon_bwlimit = 0;
int bwlimit = 0;
rprintf(F," --ignore-errors delete even if there are I/O errors\n");
rprintf(F," --max-delete=NUM don't delete more than NUM files\n");
rprintf(F," --max-size=SIZE don't transfer any file larger than SIZE\n");
-@@ -319,7 +322,7 @@ void usage(enum logcode F)
+@@ -320,7 +323,7 @@ void usage(enum logcode F)
}
enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW,
OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_TIMEOUT, OPT_MAX_SIZE,
-@@ -340,6 +343,7 @@ static struct poptOption long_options[]
+@@ -341,6 +344,7 @@ static struct poptOption long_options[]
{"ignore-existing", 0, POPT_ARG_NONE, &opt_ignore_existing, 0, 0, 0 },
{"delete-after", 0, POPT_ARG_NONE, 0, OPT_DELETE_AFTER, 0, 0 },
{"delete-excluded", 0, POPT_ARG_NONE, 0, OPT_DELETE_EXCLUDED, 0, 0 },
{"force", 0, POPT_ARG_NONE, &force_delete, 0, 0, 0 },
{"numeric-ids", 0, POPT_ARG_NONE, &numeric_ids, 0, 0, 0 },
{"exclude", 0, POPT_ARG_STRING, 0, OPT_EXCLUDE, 0, 0 },
-@@ -621,6 +625,11 @@ int parse_arguments(int *argc, const cha
+@@ -622,6 +626,11 @@ int parse_arguments(int *argc, const cha
delete_mode = 1;
break;
case OPT_EXCLUDE:
add_exclude(&exclude_list, poptGetOptArg(pc), 0);
break;
-@@ -1237,6 +1246,9 @@ void server_options(char **args,int *arg
- }
+@@ -1240,6 +1249,9 @@ void server_options(char **args,int *arg
+ args[ac++] = "--no-relative";
}
+ if (delete_sent_files)
*argc = ac;
return;
---- orig/receiver.c 2004-11-27 17:57:31
+--- orig/receiver.c 2005-01-01 21:11:00
+++ receiver.c 2004-08-13 08:38:51
@@ -46,6 +46,7 @@ extern char *backup_dir;
extern char *backup_suffix;
extern int module_id;
extern int ignore_errors;
extern int orig_umask;
-@@ -339,7 +340,7 @@ int recv_files(int f_in, struct file_lis
+@@ -342,7 +343,7 @@ int recv_files(int f_in, struct file_lis
char *fname, fbuf[MAXPATHLEN];
char template[MAXPATHLEN];
char fnametmp[MAXPATHLEN];
char fnamecmpbuf[MAXPATHLEN];
struct file_struct *file;
struct stats initial_stats;
-@@ -580,7 +581,12 @@ int recv_files(int f_in, struct file_lis
+@@ -583,7 +584,12 @@ int recv_files(int f_in, struct file_lis
cleanup_disable();
int msgtype = csum_length == SUM_LENGTH || read_batch ?
FERROR : FINFO;
if (msgtype == FERROR || verbose) {
-@@ -604,9 +610,8 @@ int recv_files(int f_in, struct file_lis
+@@ -607,9 +613,8 @@ int recv_files(int f_in, struct file_lis
keptstr, redostr);
}
if (csum_length != SUM_LENGTH) {
}
}
}
---- orig/rsync.h 2004-11-27 17:53:24
+--- orig/rsync.h 2005-01-01 21:11:01
+++ rsync.h 2004-07-03 20:17:10
@@ -60,6 +60,7 @@
#define FLAG_TOP_DIR (1<<0)
MSG_DONE=5, /* current phase is done */
MSG_REDO=4, /* reprocess indicated flist index */
MSG_ERROR=FERROR, MSG_INFO=FINFO, MSG_LOG=FLOG, /* remote logging */
---- orig/rsync.yo 2004-11-27 17:53:24
+--- orig/rsync.yo 2005-01-01 21:11:01
+++ rsync.yo 2004-07-03 20:17:10
@@ -343,6 +343,7 @@ verb(
--delete delete files that don't exist on sender
--ignore-errors delete even if there are I/O errors
--max-delete=NUM don't delete more than NUM files
--max-size=SIZE don't transfer any file larger than SIZE
-@@ -675,6 +676,11 @@ receiving side before transferring files
+@@ -684,6 +685,11 @@ receiving side before transferring files
sufficient space on the receiving filesystem. If you want to delete
after transferring, use the --delete-after switch. Implies --delete.
dit(bf(--ignore-errors)) Tells --delete to go ahead and delete files
even when there are I/O errors.
---- orig/sender.c 2004-09-20 05:10:48
+--- orig/sender.c 2005-01-01 21:11:01
+++ sender.c 2004-07-26 16:49:19
@@ -26,6 +26,7 @@ extern int io_error;
extern int dry_run;