---- orig/options.c 2004-11-27 17:53:24
+--- orig/options.c 2005-01-01 21:11:00
+++ options.c 2004-07-03 20:17:33
@@ -48,6 +48,7 @@ int preserve_devices = 0;
int preserve_uid = 0;
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");
-@@ -365,6 +367,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 },
-@@ -1080,6 +1083,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';
rsyserr(FERROR, errno, "failed to set times on %s",
full_fname(fname));
return 0;
---- orig/rsync.yo 2004-11-27 17:53:24
+--- orig/rsync.yo 2005-01-01 21:11:01
+++ rsync.yo 2004-08-11 17:27:51
@@ -329,7 +329,8 @@ verb(
-o, --owner preserve owner (root only)
-S, --sparse handle sparse files efficiently
-n, --dry-run show what would have been transferred
-W, --whole-file copy whole files, no incremental checks
-@@ -611,14 +612,23 @@ dit(bf(-D, --devices)) This option cause
+@@ -620,14 +621,23 @@ dit(bf(-D, --devices)) This option cause
block device information to the remote system to recreate these
devices. This option is only available to the super-user.
# The script would have aborted on error, so getting here means we've won.
exit 0
---- orig/testsuite/merge.test 2004-05-18 09:14:24
-+++ testsuite/merge.test 2004-07-03 20:17:33
-@@ -40,9 +40,9 @@ cp -p "$from2dir"/sub1/uno "$from3dir"/s
- cp -p "$from3dir"/sub2/subby "$chkdir"/sub2
-
- # Get rid of any directory-time differences
--$RSYNC -av --existing --include='*/' --exclude='*' "$from1dir/" "$from2dir/" "$from3dir/" "$chkdir/"
-+$RSYNC -adv --existing --include='*/' --exclude='*' "$from1dir/" "$from2dir/" "$from3dir/" "$chkdir/"
+--- orig/testsuite/merge.test 2005-01-01 21:11:13
++++ testsuite/merge.test 2005-01-01 21:14:14
+@@ -44,7 +44,7 @@ touch "$from1dir" "$from2dir" "$from3dir
+ "$from2dir"/sub1 "$from3dir"/sub1 "$from3dir"/sub2 \
+ "$chkdir" "$chkdir"/sub1 "$chkdir"/sub2
-checkit "$RSYNC -aHvv \"$from1dir/\" \"$from2dir/\" \"$from3dir/\" \"$todir/\"" "$chkdir" "$todir"
+checkit "$RSYNC -adHvv \"$from1dir/\" \"$from2dir/\" \"$from3dir/\" \"$todir/\"" "$chkdir" "$todir"
+}
+
+#endif
---- orig/options.c 2004-11-27 18:27:35
+--- orig/options.c 2005-01-01 21:11:00
+++ options.c 2004-11-27 18:19:42
@@ -128,6 +128,7 @@ char *log_format = NULL;
char *password_file = NULL;
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");
-@@ -322,7 +324,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OP
+@@ -323,7 +325,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OP
OPT_DELETE_AFTER, OPT_DELETE_EXCLUDED,
OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW,
OPT_REFUSED_BASE = 9000};
static struct poptOption long_options[] = {
-@@ -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 },
-@@ -749,6 +752,21 @@ int parse_arguments(int *argc, const cha
+@@ -750,6 +753,21 @@ int parse_arguments(int *argc, const cha
basis_dir[basis_dir_cnt++] = (char *)arg;
break;
default:
/* A large opt value means that set_refuse_options()
* turned this option off (opt-BASE is its index). */
-@@ -1225,6 +1243,11 @@ void server_options(char **args,int *arg
+@@ -1226,6 +1244,11 @@ void server_options(char **args,int *arg
}
}
if (files_from && (!am_sender || remote_filesfrom_file)) {
if (remote_filesfrom_file) {
args[ac++] = "--files-from";
---- orig/receiver.c 2004-11-27 17:57:31
-+++ receiver.c 2004-11-27 18:20:00
+--- orig/receiver.c 2005-01-01 21:11:00
++++ receiver.c 2005-01-01 21:17:34
@@ -40,6 +40,7 @@ extern int io_error;
extern char *tmpdir;
extern char *partial_dir;
struct map_struct *mapbuf;
struct sum_struct sum;
+ struct mdfour mdfour_data;
- unsigned int len;
+ int32 len;
OFF_T offset = 0;
OFF_T offset2;
@@ -228,6 +230,9 @@ static int receive_data(int f_in, char *
@@ -244,6 +249,8 @@ static int receive_data(int f_in, char *
cleanup_got_literal = 1;
- sum_update(data,i);
+ sum_update(data, i);
+ if (md4)
+ mdfour_update(&mdfour_data,data,i);
if (fd != -1 && write_file(fd,data,i) != i)
goto report_write_error;
-@@ -268,6 +275,8 @@ static int receive_data(int f_in, char *
+@@ -270,6 +277,8 @@ static int receive_data(int f_in, char *
see_token(map, len);
- sum_update(map,len);
+ sum_update(map, len);
+ if (md4)
+ mdfour_update(&mdfour_data,map,len);
}
if (inplace) {
-@@ -307,6 +316,8 @@ static int receive_data(int f_in, char *
+@@ -310,6 +319,8 @@ static int receive_data(int f_in, char *
}
sum_end(file_sum1);
if (mapbuf)
unmap_file(mapbuf);
-@@ -322,7 +333,7 @@ static int receive_data(int f_in, char *
+@@ -325,7 +336,7 @@ static int receive_data(int f_in, char *
static void discard_receive_data(int f_in, OFF_T length)
{
}
-@@ -550,8 +561,12 @@ int recv_files(int f_in, struct file_lis
+@@ -553,8 +564,12 @@ int recv_files(int f_in, struct file_lis
rprintf(FINFO, "%s\n", safe_fname(fname));
/* recv file data */
if (ret < 0) {
rsyserr(FERROR, errno, "%s %s -> \"%s\"",
ret == -2 ? "copy" : "rename",
---- orig/rsync.h 2004-11-27 17:53:24
+--- orig/rsync.h 2005-01-01 21:11:01
+++ rsync.h 2004-07-03 20:20:15
@@ -536,6 +536,14 @@ struct stats {
int current_file_index;
Do we need configure support for mktime()?
---- orig/io.c 2004-11-25 16:32:40
+--- orig/io.c 2005-01-01 21:11:00
+++ io.c 2004-07-17 15:28:36
@@ -50,6 +50,7 @@ extern int am_generator;
extern int eol_nulls;
if (!am_server && !am_daemon) {
rprintf(FERROR, "io timeout after %d seconds - exiting\n",
(int)(t-last_io));
---- orig/options.c 2004-11-27 18:27:35
-+++ options.c 2004-11-11 22:22:25
+--- orig/options.c 2005-01-01 21:11:00
++++ options.c 2005-01-01 21:19:56
@@ -98,6 +98,7 @@ int blocking_io = -1;
int checksum_seed = 0;
int inplace = 0;
- unsigned int block_size = 0;
+ long block_size = 0; /* "long" because popt can't set an int32. */
+time_t stop_at_utime = 0;
/** Network address family. **/
-@@ -305,6 +306,8 @@ void usage(enum logcode F)
+@@ -306,6 +307,8 @@ void usage(enum logcode F)
rprintf(F," --log-format=FORMAT log file transfers using specified format\n");
rprintf(F," --password-file=FILE get password from FILE\n");
rprintf(F," --bwlimit=KBPS limit I/O bandwidth, KBytes per second\n");
rprintf(F," --write-batch=FILE write a batch to FILE\n");
rprintf(F," --read-batch=FILE read a batch from FILE\n");
#ifdef INET6
-@@ -323,6 +326,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OP
+@@ -324,6 +327,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OP
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,
OPT_REFUSED_BASE = 9000};
static struct poptOption long_options[] = {
-@@ -395,6 +399,8 @@ static struct poptOption long_options[]
- {0, 'P', POPT_ARG_NONE, 0, 'P', 0, 0 },
+@@ -397,6 +401,8 @@ static struct poptOption long_options[]
+ {"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 },
+ {"stop-at", 0, POPT_ARG_STRING, 0, OPT_STOP_AT, 0, 0 },
{"backup-dir", 0, POPT_ARG_STRING, &backup_dir, 0, 0, 0 },
{"hard-links", 'H', POPT_ARG_NONE, &preserve_hard_links, 0, 0, 0 },
{"read-batch", 0, POPT_ARG_STRING, &batch_name, OPT_READ_BATCH, 0, 0 },
-@@ -749,6 +755,36 @@ int parse_arguments(int *argc, const cha
+@@ -750,6 +756,36 @@ int parse_arguments(int *argc, const cha
basis_dir[basis_dir_cnt++] = (char *)arg;
break;
default:
/* A large opt value means that set_refuse_options()
* turned this option off (opt-BASE is its index). */
-@@ -1140,6 +1176,15 @@ void server_options(char **args,int *arg
+@@ -1141,6 +1177,15 @@ void server_options(char **args,int *arg
args[ac++] = arg;
}
if (backup_dir) {
args[ac++] = "--backup-dir";
args[ac++] = backup_dir;
---- orig/rsync.yo 2004-11-27 17:53:24
+--- orig/rsync.yo 2005-01-01 21:11:01
+++ rsync.yo 2004-07-15 02:44:40
-@@ -375,6 +375,8 @@ verb(
+@@ -376,6 +376,8 @@ verb(
--log-format=FORMAT log file transfers using specified format
--password-file=FILE get password from FILE
--bwlimit=KBPS limit I/O bandwidth, KBytes per second
--write-batch=FILE write a batch to FILE
--read-batch=FILE read a batch from FILE
--checksum-seed=NUM set block/file checksum seed
-@@ -987,6 +989,19 @@ transfer was too fast, it will wait befo
+@@ -1014,6 +1016,19 @@ transfer was too fast, it will wait befo
result is an average transfer rate equaling the specified limit. A value
of zero specifies no limit.