} else {
rprintf(FLOG, "rsync %s %s from %s (%s)\n",
am_sender ? "on" : "to",
---- orig/configure.in 2004-08-13 07:18:59
+--- orig/configure.in 2004-09-23 17:42:07
+++ configure.in 2004-07-03 20:22:18
@@ -94,6 +94,8 @@ AC_ARG_WITH(rsync-path,
[ --with-rsync-path=PATH set default --rsync-path to PATH (default: rsync)],
{
int i;
for (i = 0; rerr_names[i].name; i++) {
---- orig/main.c 2004-09-18 01:49:33
+--- orig/main.c 2004-09-29 17:58:26
+++ main.c 2004-07-03 20:22:18
@@ -136,6 +136,9 @@ static void report(int f)
free(file);
if (verbose > 1)
---- orig/configure.in 2004-08-13 07:18:59
+--- orig/configure.in 2004-09-23 17:42:07
+++ configure.in 2004-08-19 19:53:27
@@ -434,6 +434,11 @@ if test x"$ac_cv_func_strcasecmp" = x"no
AC_CHECK_LIB(resolv, strcasecmp)
next;
}
---- orig/options.c 2004-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-08-19 17:38:57
@@ -43,6 +43,7 @@ int keep_dirlinks = 0;
int copy_links = 0;
default:
/* A large opt value means that set_refuse_options()
* turned this option off (opt-BASE is its index). */
-@@ -938,6 +964,8 @@ void server_options(char **args,int *arg
+@@ -942,6 +968,8 @@ void server_options(char **args,int *arg
if (preserve_hard_links)
argstr[x++] = 'H';
if (verbose > 1 && flags & PERMS_REPORT) {
if (updated)
rprintf(FINFO,"%s\n",fname);
---- orig/rsync.h 2004-08-03 15:41:32
+--- orig/rsync.h 2004-09-22 08:47:31
+++ rsync.h 2004-07-03 20:11:58
-@@ -541,6 +541,40 @@ static inline int flist_up(struct file_l
+@@ -542,6 +542,40 @@ static inline int flist_up(struct file_l
#include "lib/permstring.h"
#include "lib/addrinfo.h"
#include "proto.h"
/* We have replacement versions of these if they're missing. */
---- orig/rsync.yo 2004-09-20 05:10:48
+--- orig/rsync.yo 2004-09-24 16:42:30
+++ rsync.yo 2004-07-03 20:11:58
@@ -326,6 +326,7 @@ verb(
--safe-links ignore "unsafe" symlinks
-o, --owner preserve owner (root only)
-g, --group preserve group
-D, --devices preserve devices (root only)
-@@ -578,6 +579,11 @@ source file's permissions and the umask
+@@ -585,6 +586,11 @@ source file's permissions and the umask
other files (including updated files) retain their existing permissions
(which is the same behavior as other file-copy utilities, such as cp).
if (verbose > 1)
rprintf(FINFO, "%s is newer\n", safe_fname(fname));
return;
---- orig/options.c 2004-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-07-03 20:15:41
@@ -48,6 +48,7 @@ int preserve_devices = 0;
int preserve_uid = 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 },
-@@ -946,6 +949,8 @@ void server_options(char **args,int *arg
+@@ -950,6 +953,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-08-03 15:41:32
+--- orig/rsync.h 2004-09-22 08:47:31
+++ 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. */
-@@ -111,6 +112,7 @@
+@@ -112,6 +113,7 @@
#define PERMS_REPORT (1<<0)
#define PERMS_SKIP_MTIME (1<<1)
#define FULL_FLUSH 1
#define NORMAL_FLUSH 0
-@@ -425,6 +427,7 @@ struct file_struct {
+@@ -426,6 +428,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-09-20 05:10:48
+--- orig/rsync.yo 2004-09-24 16:42:30
+++ 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
-@@ -603,6 +604,11 @@ cause the next transfer to behave as if
+@@ -610,6 +611,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-05-15 20:10:13
+--- orig/tls.c 2004-09-23 05:45:24
+++ tls.c 2004-07-03 20:15:41
@@ -39,6 +39,7 @@
+ deleting = 0;
+ return ret;
+}
---- orig/options.c 2004-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-09-22 02:25:03
@@ -113,10 +113,14 @@ int no_detach = 0;
int write_batch = 0;
if (do_progress && !verbose)
verbose = 1;
-@@ -1005,6 +1058,10 @@ void server_options(char **args,int *arg
+@@ -1009,6 +1062,10 @@ void server_options(char **args,int *arg
args[ac++] = "--backup-dir";
args[ac++] = backup_dir;
}
/* Only send --suffix if it specifies a non-default value. */
if (strcmp(backup_suffix, backup_dir ? "" : BACKUP_SUFFIX) != 0) {
-@@ -1013,7 +1070,13 @@ void server_options(char **args,int *arg
+@@ -1017,7 +1074,13 @@ void server_options(char **args,int *arg
goto oom;
args[ac++] = arg;
}
file->uid = st.st_uid;
file->gid = st.st_gid;
---- orig/options.c 2004-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-07-03 20:13:41
@@ -126,6 +126,7 @@ char *log_format = NULL;
char *password_file = NULL;
if (do_progress && !verbose)
verbose = 1;
-@@ -1083,6 +1095,11 @@ void server_options(char **args,int *arg
+@@ -1087,6 +1099,11 @@ void server_options(char **args,int *arg
args[ac++] = compare_dest;
}
if (files_from && (!am_sender || remote_filesfrom_file)) {
if (remote_filesfrom_file) {
args[ac++] = "--files-from";
---- orig/rsync.yo 2004-09-20 05:10:48
+--- orig/rsync.yo 2004-09-24 16:42:30
+++ rsync.yo 2004-07-03 20:13: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
-@@ -603,6 +604,14 @@ cause the next transfer to behave as if
+@@ -610,6 +611,14 @@ 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).
/* 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-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-08-13 07:55:37
@@ -114,12 +114,13 @@ int write_batch = 0;
int read_batch = 0;
goto options_rejected;
}
if (backup_dir) {
-@@ -890,8 +916,8 @@ int parse_arguments(int *argc, const cha
+@@ -894,8 +920,8 @@ int parse_arguments(int *argc, const cha
**/
void server_options(char **args,int *argc)
{
char *arg;
int i, x;
-@@ -1074,13 +1100,16 @@ void server_options(char **args,int *arg
+@@ -1078,13 +1104,16 @@ void server_options(char **args,int *arg
args[ac++] = tmpdir;
}
if (st->st_size != file->length)
return 0;
if (link_dest) {
---- orig/options.c 2004-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-07-03 20:16:51
@@ -84,6 +84,7 @@ int keep_partial = 0;
int safe_symlinks = 0;
{"modify-window", 0, POPT_ARG_INT, &modify_window, OPT_MODIFY_WINDOW, 0, 0 },
{"one-file-system", 'x', POPT_ARG_NONE, &one_file_system, 0, 0, 0 },
{"delete", 0, POPT_ARG_NONE, &delete_mode, 0, 0, 0 },
-@@ -1030,6 +1033,9 @@ void server_options(char **args,int *arg
+@@ -1034,6 +1037,9 @@ void server_options(char **args,int *arg
if (size_only)
args[ac++] = "--size-only";
if (modify_window_set) {
if (asprintf(&arg, "--modify-window=%d", modify_window) < 0)
goto oom;
---- orig/rsync.yo 2004-09-20 05:10:48
+--- orig/rsync.yo 2004-09-24 16:42:30
+++ rsync.yo 2004-07-03 20:16:51
@@ -352,6 +352,7 @@ verb(
--timeout=TIME set I/O timeout in seconds
---- orig/options.c 2004-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-07-03 20:17:33
@@ -48,6 +48,7 @@ int preserve_devices = 0;
int preserve_uid = 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 },
-@@ -946,6 +949,8 @@ void server_options(char **args,int *arg
+@@ -950,6 +953,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-09-20 05:10:48
+--- orig/rsync.yo 2004-09-24 16:42:30
+++ 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
-@@ -595,14 +596,23 @@ dit(bf(-D, --devices)) This option cause
+@@ -602,14 +603,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/devices.test 2004-05-18 09:14:24
+--- orig/testsuite/devices.test 2004-09-23 17:42:07
+++ testsuite/devices.test 2004-07-03 20:17:33
-@@ -29,7 +29,7 @@ mknod "$fromdir/block" b 42 69 || test_s
- mknod "$fromdir/block2" b 42 73 || test_skipped "Can't create block device node unless root"
+@@ -30,7 +30,7 @@ mknod "$fromdir/block2" b 42 73 || test_
mknod "$fromdir/block3" b 105 73 || test_skipped "Can't create block device node unless root"
+ mkfifo "$fromdir/fifo" || test_skipped "Can't run mkfifo"
-checkit "$RSYNC -aHvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
+checkit "$RSYNC -adHvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
log_init();
---- orig/exclude.c 2004-08-10 18:17:01
+--- orig/exclude.c 2004-09-22 08:47:31
+++ exclude.c 2004-08-13 07:40:08
@@ -30,13 +30,69 @@ extern int verbose;
extern int eol_nulls;
s += 2;
} else if (xflags & XFLG_DEF_INCLUDE)
mflags |= MATCHFLG_INCLUDE;
-@@ -273,6 +660,8 @@ static const char *get_exclude_tok(const
+@@ -275,6 +662,8 @@ static const char *get_exclude_tok(const
if (*p == '!' && len == 1 && !(xflags & XFLG_WORDS_ONLY))
mflags |= MATCHFLG_CLEAR_LIST;
*len_ptr = len;
*flag_ptr = mflags;
-@@ -284,7 +673,7 @@ void add_exclude(struct exclude_list_str
+@@ -286,7 +675,7 @@ void add_exclude(struct exclude_list_str
int xflags)
{
unsigned int pat_len, mflags;
if (!pattern)
return;
-@@ -292,9 +681,15 @@ void add_exclude(struct exclude_list_str
+@@ -294,9 +683,15 @@ void add_exclude(struct exclude_list_str
cp = pattern;
pat_len = 0;
while (1) {
if (mflags & MATCHFLG_CLEAR_LIST) {
if (verbose > 2) {
-@@ -306,13 +701,24 @@ void add_exclude(struct exclude_list_str
+@@ -308,13 +703,24 @@ void add_exclude(struct exclude_list_str
continue;
}
}
}
-@@ -321,7 +727,7 @@ void add_exclude_file(struct exclude_lis
+@@ -323,7 +729,7 @@ void add_exclude_file(struct exclude_lis
int xflags)
{
FILE *fp;
char *eob = line + sizeof line - 1;
int word_split = xflags & XFLG_WORD_SPLIT;
-@@ -342,6 +748,12 @@ void add_exclude_file(struct exclude_lis
+@@ -344,6 +750,12 @@ void add_exclude_file(struct exclude_lis
}
return;
}
while (1) {
char *s = line;
-@@ -402,7 +814,21 @@ void send_exclude_list(int f)
+@@ -404,7 +816,21 @@ void send_exclude_list(int f)
if (ent->match_flags & MATCHFLG_INCLUDE) {
write_int(f, l + 2);
write_buf(f, "+ ", 2);
write_int(f, l + 2);
write_buf(f, "- ", 2);
} else
-@@ -443,6 +869,7 @@ void add_cvs_excludes(void)
+@@ -445,6 +871,7 @@ void add_cvs_excludes(void)
char fname[MAXPATHLEN];
char *p;
if (link_stat(fname, &st, keep_dirlinks) != 0) {
if (f != -1) {
io_error |= IOERR_GENERAL;
---- orig/options.c 2004-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-08-12 18:59:28
@@ -287,6 +287,7 @@ void usage(enum logcode F)
rprintf(F," --include=PATTERN don't exclude files matching PATTERN\n");
case 'P':
do_progress = 1;
keep_partial = 1;
---- orig/rsync.h 2004-08-03 15:41:32
-+++ rsync.h 2004-08-08 06:07:01
-@@ -108,6 +108,7 @@
- #define XFLG_DEF_INCLUDE (1<<1)
+--- orig/rsync.h 2004-09-22 08:47:31
++++ rsync.h 2004-09-22 08:48:53
+@@ -109,6 +109,7 @@
#define XFLG_WORDS_ONLY (1<<2)
#define XFLG_WORD_SPLIT (1<<3)
-+#define XFLG_ABS_PATH (1<<4)
+ #define XFLG_DIRECTORY (1<<4)
++#define XFLG_ABS_PATH (1<<5)
#define PERMS_REPORT (1<<0)
#define PERMS_SKIP_MTIME (1<<1)
-@@ -499,11 +500,18 @@ struct map_struct {
+@@ -500,11 +501,18 @@ struct map_struct {
#define MATCHFLG_INCLUDE (1<<4) /* this is an include, not an exclude */
#define MATCHFLG_DIRECTORY (1<<5) /* this matches only directories */
#define MATCHFLG_CLEAR_LIST (1<<6) /* this item is the "!" token */
};
struct exclude_list_struct {
---- orig/rsync.yo 2004-09-20 05:10:48
+--- orig/rsync.yo 2004-09-24 16:42:30
+++ rsync.yo 2004-08-13 00:43:31
@@ -364,6 +364,7 @@ verb(
--include=PATTERN don't exclude files matching PATTERN
-0 --from0 all file lists are delimited by nulls
--version print version number
--daemon run as an rsync daemon
-@@ -1025,24 +1026,32 @@ The exclude and include patterns specifi
+@@ -1037,24 +1038,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".
-@@ -1089,23 +1098,27 @@ because rsync did not descend through th
+@@ -1101,23 +1110,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.
-@@ -1118,22 +1131,31 @@ itemize(
+@@ -1130,22 +1143,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
-@@ -1180,8 +1202,160 @@ itemize(
+@@ -1192,8 +1214,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
if (flist->hlink_pool) {
pool_destroy(flist->hlink_pool);
flist->hlink_pool = NULL;
---- orig/main.c 2004-09-18 01:49:33
+--- orig/main.c 2004-09-29 17:58:26
+++ main.c 2004-09-03 14:18:47
@@ -178,6 +178,10 @@ static void report(int f)
rprintf(FINFO,"Matched data: %.0f bytes\n",
rprintf(FINFO,"Total bytes sent: %.0f\n",
(double)total_written);
rprintf(FINFO,"Total bytes received: %.0f\n",
---- orig/rsync.h 2004-08-03 15:41:32
+--- orig/rsync.h 2004-09-22 08:47:31
+++ rsync.h 2004-09-03 14:05:13
-@@ -520,6 +520,8 @@ struct stats {
+@@ -521,6 +521,8 @@ struct stats {
int64 literal_data;
int64 matched_data;
int flist_size;
{ RERR_SIGNAL , "received SIGUSR1 or SIGINT" },
{ RERR_WAITCHILD , "some error returned by waitpid()" },
{ RERR_MALLOC , "error allocating core memory buffers" },
---- orig/main.c 2004-09-18 01:49:33
+--- orig/main.c 2004-09-29 17:58:26
+++ main.c 2004-07-22 00:31:47
@@ -332,7 +332,7 @@ static pid_t do_cmd(char *cmd, char *mac
whole_file = 1;
if (dir)
free(dir);
---- orig/options.c 2004-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-07-03 20:18:02
@@ -129,6 +129,7 @@ char *backup_dir = NULL;
char backup_dir_buf[MAXPATHLEN];
This patch from Sami Farin lets you specify --fsync if you want fsync()
to be called on every file we write.
---- orig/options.c 2004-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-07-03 20:18:13
@@ -38,6 +38,7 @@ int make_backups = 0;
**/
{"dry-run", 'n', POPT_ARG_NONE, &dry_run, 0, 0, 0 },
{"sparse", 'S', POPT_ARG_NONE, &sparse_files, 0, 0, 0 },
{"cvs-exclude", 'C', POPT_ARG_NONE, &cvs_exclude, 0, 0, 0 },
-@@ -1074,6 +1077,9 @@ void server_options(char **args,int *arg
+@@ -1078,6 +1081,9 @@ void server_options(char **args,int *arg
args[ac++] = tmpdir;
}
/* 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-09-22 08:47:31
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-09-23 14:59:46
@@ -85,6 +85,7 @@ int safe_symlinks = 0;
int copy_unsafe_links = 0;
/* Log-message categories. FLOG is only used on the daemon side to
---- orig/rsync.yo 2004-09-22 08:47:31
+--- orig/rsync.yo 2004-09-24 16:42:30
+++ rsync.yo 2004-07-03 19:27:25
@@ -356,6 +356,7 @@ verb(
-T --temp-dir=DIR create temporary files in directory DIR
}
if (verbose > 2)
---- orig/main.c 2004-09-18 01:49:33
+--- orig/main.c 2004-09-29 17:58:26
+++ main.c 2004-07-22 00:10:43
@@ -59,6 +59,7 @@ extern int filesfrom_fd;
extern pid_t cleanup_child_pid;
case '?':
/* Match anything but '/'. */
if (*text == '/')
---- orig/options.c 2004-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-07-29 16:13:45
@@ -92,6 +92,7 @@ int opt_ignore_existing = 0;
int max_delete = 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 },
-@@ -1042,6 +1045,9 @@ void server_options(char **args,int *arg
+@@ -1046,6 +1049,9 @@ void server_options(char **args,int *arg
args[ac++] = arg;
}
#else
linkname_len = 0;
#endif
---- orig/options.c 2004-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-07-16 16:12:29
@@ -42,6 +42,7 @@ int archive_mode = 0;
int keep_dirlinks = 0;
}
if (preserve_links && S_ISLNK(file->mode)) {
---- orig/options.c 2004-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-08-13 18:26:04
@@ -90,6 +90,7 @@ int delete_after = 0;
int only_existing = 0;
case OPT_TIMEOUT:
if (io_timeout && io_timeout < select_timeout)
select_timeout = io_timeout;
-@@ -989,6 +1020,11 @@ void server_options(char **args,int *arg
+@@ -993,6 +1024,11 @@ void server_options(char **args,int *arg
args[ac++] = arg;
}
if (io_timeout) {
if (asprintf(&arg, "--timeout=%d", io_timeout) < 0)
goto oom;
---- orig/rsync.yo 2004-09-20 05:10:48
+--- orig/rsync.yo 2004-09-24 16:42:30
+++ rsync.yo 2004-07-03 20:20:46
@@ -345,6 +345,7 @@ verb(
--delete-after receiver deletes after transfer, not before
--partial keep partially transferred files
--partial-dir=DIR put a partially transferred file into DIR
--force force deletion of dirs even if not empty
-@@ -628,6 +629,11 @@ dit(bf(--max-delete=NUM)) This tells rsy
+@@ -635,6 +636,11 @@ dit(bf(--max-delete=NUM)) This tells rsy
files or directories. This is useful when mirroring very large trees
to prevent disasters.
This patch still needs autoconf support for portability.
---- orig/access.c 2003-07-30 06:12:27
+--- orig/access.c 2004-09-25 16:57:35
+++ access.c 2004-04-25 17:20:47
@@ -22,11 +22,14 @@
*/
if (*line == '#') {
/* it's some sort of command that I don't understand */
io_printf(f_out, "@ERROR: Unknown command '%s'\n", line);
---- orig/configure.in 2004-08-13 07:18:59
+--- orig/configure.in 2004-09-23 17:42:07
+++ configure.in 2004-07-03 20:22:28
@@ -271,6 +271,21 @@ yes
AC_SEARCH_LIBS(getaddrinfo, inet6)
AC_MSG_CHECKING([whether to call shutdown on all sockets])
case $host_os in
*cygwin* ) AC_MSG_RESULT(yes)
---- orig/main.c 2004-09-18 01:49:33
+--- orig/main.c 2004-09-29 17:58:26
+++ main.c 2004-07-15 02:40:51
@@ -56,6 +56,9 @@ extern int write_batch;
extern int batch_fd;
extern pid_t cleanup_child_pid;
extern char *files_from;
extern char *remote_filesfrom_file;
-@@ -761,18 +764,32 @@ static int start_client(int argc, char *
+@@ -771,18 +774,32 @@ static int start_client(int argc, char *
pid_t pid;
int f_in,f_out;
int rc;
p = strchr(host,'/');
if (p) {
*p = '\0';
-@@ -825,12 +842,27 @@ static int start_client(int argc, char *
+@@ -835,12 +852,27 @@ static int start_client(int argc, char *
argv++;
} else { /* source is local */
am_sender = 1;
p = strchr(host,'/');
if (p) {
*p = '\0';
---- orig/options.c 2004-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-07-16 20:19:50
@@ -135,6 +135,14 @@ int quiet = 0;
int always_checksum = 0;
if (bwlimit) {
bwlimit_writemax = (size_t)bwlimit * 128;
if (bwlimit_writemax < 512)
---- orig/rsync.h 2004-08-03 15:41:32
+--- orig/rsync.h 2004-09-22 08:47:31
+++ rsync.h 2004-07-03 20:22:28
@@ -32,6 +32,7 @@
#define BACKUP_SUFFIX "~"
-@@ -329,6 +330,11 @@ enum msgcode {
+@@ -330,6 +331,11 @@ enum msgcode {
#define uint64 unsigned off_t
#endif
+ preserve_gid = 2;
+ }
}
---- orig/options.c 2004-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-09-09 01:59:08
@@ -358,8 +358,8 @@ static struct poptOption long_options[]
{"no-whole-file", 0, POPT_ARG_VAL, &whole_file, 0, 0, 0 },
preserve_devices = 1;
}
-@@ -938,10 +946,16 @@ void server_options(char **args,int *arg
+@@ -942,10 +950,16 @@ void server_options(char **args,int *arg
if (preserve_hard_links)
argstr[x++] = 'H';
case MSG_INFO:
case MSG_ERROR:
if (remaining >= sizeof line) {
---- orig/main.c 2004-09-18 01:49:33
+--- orig/main.c 2004-09-29 17:58:26
+++ main.c 2004-08-13 08:24:23
@@ -42,6 +42,7 @@ extern int list_only;
extern int local_server;
recv_exclude_list(f_in);
if (cvs_exclude)
-@@ -692,6 +695,9 @@ int client_run(int f_in, int f_out, pid_
+@@ -702,6 +705,9 @@ int client_run(int f_in, int f_out, pid_
exit_cleanup(status);
}
if (argc == 0)
list_only = 1;
---- orig/options.c 2004-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-07-16 20:09:54
@@ -87,8 +87,10 @@ int size_only = 0;
int bwlimit = 0;
case OPT_EXCLUDE:
add_exclude(&exclude_list, poptGetOptArg(pc), 0);
break;
-@@ -1095,6 +1104,9 @@ void server_options(char **args,int *arg
+@@ -1099,6 +1108,9 @@ void server_options(char **args,int *arg
}
}
}
}
}
---- orig/rsync.h 2004-08-03 15:41:32
+--- orig/rsync.h 2004-09-22 08:47:31
+++ rsync.h 2004-07-03 20:17:10
@@ -60,6 +60,7 @@
#define FLAG_TOP_DIR (1<<0)
/* update this if you make incompatible changes */
#define PROTOCOL_VERSION 28
-@@ -126,6 +127,7 @@ enum logcode { FERROR=1, FINFO=2, FLOG=3
+@@ -127,6 +128,7 @@ enum logcode { FERROR=1, FINFO=2, FLOG=3
/* Messages types that are sent over the message channel. The logcode
* values must all be present here with identical numbers. */
enum msgcode {
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-09-20 05:10:48
+--- orig/rsync.yo 2004-09-24 16:42:30
+++ 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
--partial keep partially transferred files
-@@ -654,6 +655,11 @@ receiving side before transferring files
+@@ -661,6 +662,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.
if (!am_server && !am_daemon) {
rprintf(FERROR, "io timeout after %d seconds - exiting\n",
(int)(t-last_io));
---- orig/options.c 2004-09-20 05:10:48
+--- orig/options.c 2004-09-23 17:42:07
+++ options.c 2004-07-15 17:06:09
@@ -96,6 +96,7 @@ int blocking_io = -1;
int checksum_seed = 0;
default:
/* A large opt value means that set_refuse_options()
* turned this option off (opt-BASE is its index). */
-@@ -1001,6 +1037,15 @@ void server_options(char **args,int *arg
+@@ -1005,6 +1041,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-09-20 05:10:48
+--- orig/rsync.yo 2004-09-24 16:42:30
+++ rsync.yo 2004-07-15 02:44:40
@@ -378,6 +378,8 @@ verb(
--log-format=FORMAT log file transfers using specified format
--write-batch=FILE write a batch to FILE
--read-batch=FILE read a batch from FILE
--checksum-seed=NUM set block/file checksum seed
-@@ -989,6 +991,19 @@ transfer was too fast, it will wait befo
+@@ -1001,6 +1003,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.
#if defined(__KAME__) && defined(INET6)
# define FAITH
#endif
---- orig/rsync.h 2004-07-03 20:23:33
-+++ rsync.h 2004-07-03 20:23:33
-@@ -164,6 +164,7 @@ enum msgcode {
- #endif
+--- orig/syscall.c 2004-09-23 05:46:46
++++ syscall.c 2004-09-23 18:11:06
+@@ -27,6 +27,7 @@
+ #include "rsync.h"
- #ifdef HAVE_SYS_UN_H
+ #if HAVE_SYS_UN_H
+#define _SOCKADDR_LEN
#include <sys/un.h>
#endif