Matt McCutchen's Web Site
/
rsync
/
rsync-patches.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
963ca80
)
The patches for 3.0.5pre2.
author
Wayne Davison
<wayne@opencoder.net>
Sun, 16 Nov 2008 01:23:28 +0000
(17:23 -0800)
committer
Wayne Davison
<wayne@opencoder.net>
Sun, 16 Nov 2008 01:23:28 +0000
(17:23 -0800)
35 files changed:
atimes.diff
patch
|
blob
|
blame
|
history
backup-dir-dels.diff
patch
|
blob
|
blame
|
history
checksum-reading.diff
patch
|
blob
|
blame
|
history
checksum-updating.diff
patch
|
blob
|
blame
|
history
checksum-xattr.diff
patch
|
blob
|
blame
|
history
copy-devices.diff
patch
|
blob
|
blame
|
history
crtimes.diff
patch
|
blob
|
blame
|
history
date-only.diff
patch
|
blob
|
blame
|
history
db.diff
patch
|
blob
|
blame
|
history
detect-renamed-lax.diff
patch
|
blob
|
blame
|
history
detect-renamed.diff
patch
|
blob
|
blame
|
history
downdate.diff
patch
|
blob
|
blame
|
history
dparam.diff
patch
|
blob
|
blame
|
history
drop-cache.diff
patch
|
blob
|
blame
|
history
fileflags.diff
patch
|
blob
|
blame
|
history
fsync.diff
patch
|
blob
|
blame
|
history
ignore-case.diff
patch
|
blob
|
blame
|
history
link-by-hash.diff
patch
|
blob
|
blame
|
history
log-checksum.diff
patch
|
blob
|
blame
|
history
munge-links.diff
patch
|
blob
|
blame
|
history
nameconverter.diff
patch
|
blob
|
blame
|
history
omit-dir-changes.diff
patch
|
blob
|
blame
|
history
openssl-support.diff
patch
|
blob
|
blame
|
history
osx-xattr-nodev.diff
patch
|
blob
|
blame
|
history
preallocate.diff
patch
|
blob
|
blame
|
history
remote-option.diff
patch
|
blob
|
blame
|
history
slow-down.diff
patch
|
blob
|
blame
|
history
slp.diff
patch
|
blob
|
blame
|
history
source-backup.diff
patch
|
blob
|
blame
|
history
source-filter_dest-filter.diff
patch
|
blob
|
blame
|
history
sparse-block.diff
patch
|
blob
|
blame
|
history
stdout.diff
patch
|
blob
|
blame
|
history
time-limit.diff
patch
|
blob
|
blame
|
history
transliterate.diff
patch
|
blob
|
blame
|
history
usermap.diff
patch
|
blob
|
blame
|
history
diff --git
a/atimes.diff
b/atimes.diff
index
fa03b3c
..
8eea52f
100644
(file)
--- a/
atimes.diff
+++ b/
atimes.diff
@@
-131,7
+131,7
@@
diff --git a/generator.c b/generator.c
extern int verbose;
extern int dry_run;
extern int verbose;
extern int dry_run;
-@@ -64
5,6 +646
,9 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -64
8,6 +649
,9 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
: iflags & (ITEM_TRANSFER|ITEM_LOCAL_CHANGE) && !(iflags & ITEM_MATCHED)
&& (!(iflags & ITEM_XNAME_FOLLOWS) || *xname))
iflags |= ITEM_REPORT_TIME;
: iflags & (ITEM_TRANSFER|ITEM_LOCAL_CHANGE) && !(iflags & ITEM_MATCHED)
&& (!(iflags & ITEM_XNAME_FOLLOWS) || *xname))
iflags |= ITEM_REPORT_TIME;
@@
-141,7
+141,7
@@
diff --git a/generator.c b/generator.c
#if !defined HAVE_LCHMOD && !defined HAVE_SETATTRLIST
if (S_ISLNK(file->mode)) {
;
#if !defined HAVE_LCHMOD && !defined HAVE_SETATTRLIST
if (S_ISLNK(file->mode)) {
;
-@@ -101
5,6 +1019
,8 @@ static int try_dests_reg(struct file_struct *file, char *fname, int ndx,
+@@ -101
8,6 +1022
,8 @@ static int try_dests_reg(struct file_struct *file, char *fname, int ndx,
if (link_dest) {
if (!hard_link_one(file, fname, cmpbuf, 1))
goto try_a_copy;
if (link_dest) {
if (!hard_link_one(file, fname, cmpbuf, 1))
goto try_a_copy;
@@
-150,7
+150,7
@@
diff --git a/generator.c b/generator.c
if (preserve_hard_links && F_IS_HLINKED(file))
finish_hard_link(file, fname, ndx, &sxp->st, itemizing, code, j);
if (!maybe_ATTRS_REPORT && (verbose > 1 || stdout_format_has_i > 1)) {
if (preserve_hard_links && F_IS_HLINKED(file))
finish_hard_link(file, fname, ndx, &sxp->st, itemizing, code, j);
if (!maybe_ATTRS_REPORT && (verbose > 1 || stdout_format_has_i > 1)) {
-@@ -120
0,6 +1206
,7 @@ static int try_dests_non(struct file_struct *file, char *fname, int ndx,
+@@ -120
3,6 +1209
,7 @@ static int try_dests_non(struct file_struct *file, char *fname, int ndx,
static void list_file_entry(struct file_struct *f)
{
char permbuf[PERMSTRING_SIZE];
static void list_file_entry(struct file_struct *f)
{
char permbuf[PERMSTRING_SIZE];
@@
-158,7
+158,7
@@
diff --git a/generator.c b/generator.c
double len;
if (!F_IS_ACTIVE(f)) {
double len;
if (!F_IS_ACTIVE(f)) {
-@@ -121
4,14 +1221
,16 @@ static void list_file_entry(struct file_struct *f)
+@@ -121
7,14 +1224
,16 @@ static void list_file_entry(struct file_struct *f)
#ifdef SUPPORT_LINKS
if (preserve_links && S_ISLNK(f->mode)) {
#ifdef SUPPORT_LINKS
if (preserve_links && S_ISLNK(f->mode)) {
@@
-177,7
+177,7
@@
diff --git a/generator.c b/generator.c
f_name(f, NULL));
}
}
f_name(f, NULL));
}
}
-@@ -205
6,7 +2065
,7 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
+@@ -205
9,7 +2068
,7 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
STRUCT_STAT st;
if (link_stat(fname, &st, 0) == 0
&& cmp_time(st.st_mtime, file->modtime) != 0)
STRUCT_STAT st;
if (link_stat(fname, &st, 0) == 0
&& cmp_time(st.st_mtime, file->modtime) != 0)
@@
-242,7
+242,7
@@
diff --git a/options.c b/options.c
int update_only = 0;
int cvs_exclude = 0;
int dry_run = 0;
int update_only = 0;
int cvs_exclude = 0;
int dry_run = 0;
-@@ -35
3,6 +354
,7 @@ void usage(enum logcode F)
+@@ -35
4,6 +355
,7 @@ void usage(enum logcode F)
rprintf(F," -D same as --devices --specials\n");
rprintf(F," -t, --times preserve modification times\n");
rprintf(F," -O, --omit-dir-times omit directories from --times\n");
rprintf(F," -D same as --devices --specials\n");
rprintf(F," -t, --times preserve modification times\n");
rprintf(F," -O, --omit-dir-times omit directories from --times\n");
@@
-250,7
+250,7
@@
diff --git a/options.c b/options.c
rprintf(F," --super receiver attempts super-user activities\n");
#ifdef SUPPORT_XATTRS
rprintf(F," --fake-super store/recover privileged attrs using xattrs\n");
rprintf(F," --super receiver attempts super-user activities\n");
#ifdef SUPPORT_XATTRS
rprintf(F," --fake-super store/recover privileged attrs using xattrs\n");
-@@ -49
0,6 +492
,9 @@ static struct poptOption long_options[] = {
+@@ -49
1,6 +493
,9 @@ static struct poptOption long_options[] = {
{"times", 't', POPT_ARG_VAL, &preserve_times, 2, 0, 0 },
{"no-times", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 },
{"no-t", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 },
{"times", 't', POPT_ARG_VAL, &preserve_times, 2, 0, 0 },
{"no-times", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 },
{"no-t", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 },
@@
-260,7
+260,7
@@
diff --git a/options.c b/options.c
{"omit-dir-times", 'O', POPT_ARG_VAL, &omit_dir_times, 1, 0, 0 },
{"no-omit-dir-times",0, POPT_ARG_VAL, &omit_dir_times, 0, 0, 0 },
{"no-O", 0, POPT_ARG_VAL, &omit_dir_times, 0, 0, 0 },
{"omit-dir-times", 'O', POPT_ARG_VAL, &omit_dir_times, 1, 0, 0 },
{"no-omit-dir-times",0, POPT_ARG_VAL, &omit_dir_times, 0, 0, 0 },
{"no-O", 0, POPT_ARG_VAL, &omit_dir_times, 0, 0, 0 },
-@@ -177
3,6 +1778
,8 @@ void server_options(char **args, int *argc_p)
+@@ -177
4,6 +1779
,8 @@ void server_options(char **args, int *argc_p)
argstr[x++] = 'D';
if (preserve_times)
argstr[x++] = 't';
argstr[x++] = 'D';
if (preserve_times)
argstr[x++] = 't';
@@
-378,7
+378,7
@@
diff --git a/rsync.h b/rsync.h
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -3
49,6 +349
,7 @@ to the detailed description below for a complete description. verb(
+@@ -3
53,6 +353
,7 @@ to the detailed description below for a complete description. verb(
-D same as --devices --specials
-t, --times preserve modification times
-O, --omit-dir-times omit directories from --times
-D same as --devices --specials
-t, --times preserve modification times
-O, --omit-dir-times omit directories from --times
@@
-386,7
+386,7
@@
diff --git a/rsync.yo b/rsync.yo
--super receiver attempts super-user activities
--fake-super store/recover privileged attrs using xattrs
-S, --sparse handle sparse files efficiently
--super receiver attempts super-user activities
--fake-super store/recover privileged attrs using xattrs
-S, --sparse handle sparse files efficiently
-@@ -100
0,6 +1001
,12 @@ it is preserving modification times (see bf(--times)). If NFS is sharing
+@@ -100
4,6 +1005
,12 @@ it is preserving modification times (see bf(--times)). If NFS is sharing
the directories on the receiving side, it is a good idea to use bf(-O).
This option is inferred if you use bf(--backup) without bf(--backup-dir).
the directories on the receiving side, it is a good idea to use bf(-O).
This option is inferred if you use bf(--backup) without bf(--backup-dir).
@@
-399,7
+399,7
@@
diff --git a/rsync.yo b/rsync.yo
dit(bf(--super)) This tells the receiving side to attempt super-user
activities even if the receiving rsync wasn't run by the super-user. These
activities include: preserving users via the bf(--owner) option, preserving
dit(bf(--super)) This tells the receiving side to attempt super-user
activities even if the receiving rsync wasn't run by the super-user. These
activities include: preserving users via the bf(--owner) option, preserving
-@@ -17
19,7 +1726
,10 @@ quote(itemization(
+@@ -17
23,7 +1730
,10 @@ quote(itemization(
sender's value (requires bf(--owner) and super-user privileges).
it() A bf(g) means the group is different and is being updated to the
sender's value (requires bf(--group) and the authority to set the group).
sender's value (requires bf(--owner) and super-user privileges).
it() A bf(g) means the group is different and is being updated to the
sender's value (requires bf(--group) and the authority to set the group).
diff --git
a/backup-dir-dels.diff
b/backup-dir-dels.diff
index
5dcb76e
..
3919e07
100644
(file)
--- a/
backup-dir-dels.diff
+++ b/
backup-dir-dels.diff
@@
-178,7
+178,7
@@
diff --git a/options.c b/options.c
char *sockopts = NULL;
int rsync_port = 0;
int compare_dest = 0;
char *sockopts = NULL;
int rsync_port = 0;
int compare_dest = 0;
-@@ -32
5,6 +331
,8 @@ void usage(enum logcode F)
+@@ -32
6,6 +332
,8 @@ void usage(enum logcode F)
rprintf(F," -b, --backup make backups (see --suffix & --backup-dir)\n");
rprintf(F," --backup-dir=DIR make backups into hierarchy based in DIR\n");
rprintf(F," --suffix=SUFFIX set backup suffix (default %s w/o --backup-dir)\n",BACKUP_SUFFIX);
rprintf(F," -b, --backup make backups (see --suffix & --backup-dir)\n");
rprintf(F," --backup-dir=DIR make backups into hierarchy based in DIR\n");
rprintf(F," --suffix=SUFFIX set backup suffix (default %s w/o --backup-dir)\n",BACKUP_SUFFIX);
@@
-187,7
+187,7
@@
diff --git a/options.c b/options.c
rprintf(F," -u, --update skip files that are newer on the receiver\n");
rprintf(F," --inplace update destination files in-place (SEE MAN PAGE)\n");
rprintf(F," --append append data onto shorter files\n");
rprintf(F," -u, --update skip files that are newer on the receiver\n");
rprintf(F," --inplace update destination files in-place (SEE MAN PAGE)\n");
rprintf(F," --append append data onto shorter files\n");
-@@ -6
09,7 +617
,9 @@ static struct poptOption long_options[] = {
+@@ -6
10,7 +618
,9 @@ static struct poptOption long_options[] = {
{"backup", 'b', POPT_ARG_VAL, &make_backups, 1, 0, 0 },
{"no-backup", 0, POPT_ARG_VAL, &make_backups, 0, 0, 0 },
{"backup-dir", 0, POPT_ARG_STRING, &backup_dir, 0, 0, 0 },
{"backup", 'b', POPT_ARG_VAL, &make_backups, 1, 0, 0 },
{"no-backup", 0, POPT_ARG_VAL, &make_backups, 0, 0, 0 },
{"backup-dir", 0, POPT_ARG_STRING, &backup_dir, 0, 0, 0 },
@@
-197,7
+197,7
@@
diff --git a/options.c b/options.c
{"list-only", 0, POPT_ARG_VAL, &list_only, 2, 0, 0 },
{"read-batch", 0, POPT_ARG_STRING, &batch_name, OPT_READ_BATCH, 0, 0 },
{"write-batch", 0, POPT_ARG_STRING, &batch_name, OPT_WRITE_BATCH, 0, 0 },
{"list-only", 0, POPT_ARG_VAL, &list_only, 2, 0, 0 },
{"read-batch", 0, POPT_ARG_STRING, &batch_name, OPT_READ_BATCH, 0, 0 },
{"write-batch", 0, POPT_ARG_STRING, &batch_name, OPT_WRITE_BATCH, 0, 0 },
-@@ -145
3,6 +1463
,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -145
4,6 +1464
,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
tmpdir = sanitize_path(NULL, tmpdir, NULL, 0, SP_DEFAULT);
if (backup_dir)
backup_dir = sanitize_path(NULL, backup_dir, NULL, 0, SP_DEFAULT);
tmpdir = sanitize_path(NULL, tmpdir, NULL, 0, SP_DEFAULT);
if (backup_dir)
backup_dir = sanitize_path(NULL, backup_dir, NULL, 0, SP_DEFAULT);
@@
-206,7
+206,7
@@
diff --git a/options.c b/options.c
}
if (daemon_filter_list.head && !am_sender) {
struct filter_list_struct *elp = &daemon_filter_list;
}
if (daemon_filter_list.head && !am_sender) {
struct filter_list_struct *elp = &daemon_filter_list;
-@@ -147
4,6 +1486
,14 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -147
5,6 +1487
,14 @@ int parse_arguments(int *argc_p, const char ***argv_p)
if (check_filter(elp, FLOG, dir, 1) < 0)
goto options_rejected;
}
if (check_filter(elp, FLOG, dir, 1) < 0)
goto options_rejected;
}
@@
-221,7
+221,7
@@
diff --git a/options.c b/options.c
}
if (!backup_suffix)
}
if (!backup_suffix)
-@@ -148
5,6 +1505
,20 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -148
6,6 +1506
,20 @@ int parse_arguments(int *argc_p, const char ***argv_p)
backup_suffix);
return 0;
}
backup_suffix);
return 0;
}
@@
-242,7
+242,7
@@
diff --git a/options.c b/options.c
if (backup_dir) {
backup_dir_len = strlcpy(backup_dir_buf, backup_dir, sizeof backup_dir_buf);
backup_dir_remainder = sizeof backup_dir_buf - backup_dir_len;
if (backup_dir) {
backup_dir_len = strlcpy(backup_dir_buf, backup_dir, sizeof backup_dir_buf);
backup_dir_remainder = sizeof backup_dir_buf - backup_dir_len;
-@@ -150
8,6 +1542
,34 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -150
9,6 +1543
,34 @@ int parse_arguments(int *argc_p, const char ***argv_p)
"P *%s", backup_suffix);
parse_rule(&filter_list, backup_dir_buf, 0, 0);
}
"P *%s", backup_suffix);
parse_rule(&filter_list, backup_dir_buf, 0, 0);
}
@@
-277,7
+277,7
@@
diff --git a/options.c b/options.c
if (make_backups && !backup_dir) {
omit_dir_times = 0; /* Implied, so avoid -O to sender. */
if (make_backups && !backup_dir) {
omit_dir_times = 0; /* Implied, so avoid -O to sender. */
-@@ -191
6,6 +1978
,10 @@ void server_options(char **args, int *argc_p)
+@@ -191
7,6 +1979
,10 @@ void server_options(char **args, int *argc_p)
args[ac++] = "--backup-dir";
args[ac++] = backup_dir;
}
args[ac++] = "--backup-dir";
args[ac++] = backup_dir;
}
@@
-288,7
+288,7
@@
diff --git a/options.c b/options.c
/* Only send --suffix if it specifies a non-default value. */
if (strcmp(backup_suffix, backup_dir ? "" : BACKUP_SUFFIX) != 0) {
/* Only send --suffix if it specifies a non-default value. */
if (strcmp(backup_suffix, backup_dir ? "" : BACKUP_SUFFIX) != 0) {
-@@ -192
4,7 +1990
,14 @@ void server_options(char **args, int *argc_p)
+@@ -192
5,7 +1991
,14 @@ void server_options(char **args, int *argc_p)
goto oom;
args[ac++] = arg;
}
goto oom;
args[ac++] = arg;
}
diff --git
a/checksum-reading.diff
b/checksum-reading.diff
index
83c5d04
..
fdd8e64
100644
(file)
--- a/
checksum-reading.diff
+++ b/
checksum-reading.diff
@@
-40,7
+40,7
@@
diff --git a/clientserver.c b/clientserver.c
extern int io_timeout;
extern int no_detach;
extern int write_batch;
extern int io_timeout;
extern int no_detach;
extern int write_batch;
-@@ -77
8,6 +780
,9 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
+@@ -77
9,6 +781
,9 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
} else if (am_root < 0) /* Treat --fake-super from client as --super. */
am_root = 2;
} else if (am_root < 0) /* Treat --fake-super from client as --super. */
am_root = 2;
@@
-388,10
+388,10
@@
diff --git a/flist.c b/flist.c
+ file_checksum(thisname, st.st_size, tmp_sum);
+ }
+
+ file_checksum(thisname, st.st_size, tmp_sum);
+ }
+
- /* This code is only used by the receiver when it is building
- * a list of files for a delete pass. */
- if (keep_dirlinks && linkname_len && flist) {
-@@ -22
53,7 +2509
,8 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+ if (basename_len == 0+1) {
+ if (!pool)
+ unmake_file(file);
+@@ -22
34,7 +2490
,8 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
* file-list to check if this is a 1-file xfer. */
send_extra_file_list(f, 1);
}
* file-list to check if this is a 1-file xfer. */
send_extra_file_list(f, 1);
}
@@
-401,7
+401,7
@@
diff --git a/flist.c b/flist.c
return flist;
}
return flist;
}
-@@ -23
55,7 +2612
,7 @@ struct file_list *recv_file_list(int f)
+@@ -23
36,7 +2593
,7 @@ struct file_list *recv_file_list(int f)
else if (f >= 0)
recv_id_list(f, flist);
else if (f >= 0)
recv_id_list(f, flist);
@@
-410,7
+410,7
@@
diff --git a/flist.c b/flist.c
if (protocol_version < 30) {
/* Recv the io_error flag */
if (protocol_version < 30) {
/* Recv the io_error flag */
-@@ -255
3,7 +2810
,7 @@ void flist_free(struct file_list *flist)
+@@ -255
6,7 +2813
,7 @@ void flist_free(struct file_list *flist)
/* This routine ensures we don't have any duplicate names in our file list.
* duplicate names can cause corruption because of the pipelining. */
/* This routine ensures we don't have any duplicate names in our file list.
* duplicate names can cause corruption because of the pipelining. */
@@
-419,7
+419,7
@@
diff --git a/flist.c b/flist.c
{
char fbuf[MAXPATHLEN];
int i, prev_i;
{
char fbuf[MAXPATHLEN];
int i, prev_i;
-@@ -260
4,7 +2861
,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -260
7,7 +2864
,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
/* If one is a dir and the other is not, we want to
* keep the dir because it might have contents in the
* list. Otherwise keep the first one. */
/* If one is a dir and the other is not, we want to
* keep the dir because it might have contents in the
* list. Otherwise keep the first one. */
@@
-428,7
+428,7
@@
diff --git a/flist.c b/flist.c
struct file_struct *fp = flist->sorted[j];
if (!S_ISDIR(fp->mode))
keep = i, drop = j;
struct file_struct *fp = flist->sorted[j];
if (!S_ISDIR(fp->mode))
keep = i, drop = j;
-@@ -262
0,8 +2877
,8 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -262
3,8 +2880
,8 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
} else
keep = j, drop = i;
} else
keep = j, drop = i;
@@
-439,7
+439,7
@@
diff --git a/flist.c b/flist.c
rprintf(FINFO,
"removing duplicate name %s from file list (%d)\n",
f_name(file, fbuf), drop + flist->ndx_start);
rprintf(FINFO,
"removing duplicate name %s from file list (%d)\n",
f_name(file, fbuf), drop + flist->ndx_start);
-@@ -264
3,7 +2900
,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -264
6,7 +2903
,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
}
flist->high = prev_i;
}
flist->high = prev_i;
@@
-459,7
+459,7
@@
diff --git a/generator.c b/generator.c
extern int remove_source_files;
extern int delay_updates;
extern int update_only;
extern int remove_source_files;
extern int delay_updates;
extern int update_only;
-@@ -71
2,7 +713
,7 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -71
5,7 +716
,7 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
/* Perform our quick-check heuristic for determining if a file is unchanged. */
/* Perform our quick-check heuristic for determining if a file is unchanged. */
@@
-468,7
+468,7
@@
diff --git a/generator.c b/generator.c
{
if (st->st_size != F_LENGTH(file))
return 0;
{
if (st->st_size != F_LENGTH(file))
return 0;
-@@ -72
1,7 +722
,10 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
+@@ -72
4,7 +725
,10 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
of the file time to determine whether to sync */
if (always_checksum > 0 && S_ISREG(st->st_mode)) {
char sum[MAX_DIGEST_LEN];
of the file time to determine whether to sync */
if (always_checksum > 0 && S_ISREG(st->st_mode)) {
char sum[MAX_DIGEST_LEN];
@@
-480,7
+480,7
@@
diff --git a/generator.c b/generator.c
return memcmp(sum, F_SUM(file), checksum_len) == 0;
}
return memcmp(sum, F_SUM(file), checksum_len) == 0;
}
-@@ -98
5,7 +989
,7 @@ static int try_dests_reg(struct file_struct *file, char *fname, int ndx,
+@@ -98
8,7 +992
,7 @@ static int try_dests_reg(struct file_struct *file, char *fname, int ndx,
match_level = 1;
/* FALL THROUGH */
case 1:
match_level = 1;
/* FALL THROUGH */
case 1:
@@
-489,7
+489,7
@@
diff --git a/generator.c b/generator.c
continue;
best_match = j;
match_level = 2;
continue;
best_match = j;
match_level = 2;
-@@ -12
58,7 +1262
,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -12
61,7 +1265
,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
* --ignore-non-existing, daemon exclude, or mkdir failure. */
static struct file_struct *skip_dir = NULL;
static struct file_list *fuzzy_dirlist = NULL;
* --ignore-non-existing, daemon exclude, or mkdir failure. */
static struct file_struct *skip_dir = NULL;
static struct file_list *fuzzy_dirlist = NULL;
@@
-498,7
+498,7
@@
diff --git a/generator.c b/generator.c
struct file_struct *fuzzy_file = NULL;
int fd = -1, f_copy = -1;
stat_x sx, real_sx;
struct file_struct *fuzzy_file = NULL;
int fd = -1, f_copy = -1;
stat_x sx, real_sx;
-@@ -13
47,8 +1351
,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -13
50,8 +1354
,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
flist_free(fuzzy_dirlist);
fuzzy_dirlist = NULL;
}
flist_free(fuzzy_dirlist);
fuzzy_dirlist = NULL;
}
@@
-509,7
+509,7
@@
diff --git a/generator.c b/generator.c
#ifdef SUPPORT_ACLS
if (!preserve_perms)
dflt_perms = default_perms_for_dir(dn);
#ifdef SUPPORT_ACLS
if (!preserve_perms)
dflt_perms = default_perms_for_dir(dn);
-@@ -135
6,10 +1360
,15 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -135
9,10 +1363
,15 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
}
parent_dirname = dn;
}
parent_dirname = dn;
@@
-529,7
+529,7
@@
diff --git a/generator.c b/generator.c
}
statret = link_stat(fname, &sx.st, keep_dirlinks && is_dir);
}
statret = link_stat(fname, &sx.st, keep_dirlinks && is_dir);
-@@ -179
3,7 +1802
,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -179
6,7 +1805
,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
;
else if (fnamecmp_type == FNAMECMP_FUZZY)
;
;
else if (fnamecmp_type == FNAMECMP_FUZZY)
;
@@
-625,7
+625,7
@@
diff --git a/options.c b/options.c
int max_delete = INT_MIN;
OFF_T max_size = 0;
OFF_T min_size = 0;
int max_delete = INT_MIN;
OFF_T max_size = 0;
OFF_T min_size = 0;
-@@ -31
7,6 +318
,7 @@ void usage(enum logcode F)
+@@ -31
8,6 +319
,7 @@ void usage(enum logcode F)
rprintf(F," -q, --quiet suppress non-error messages\n");
rprintf(F," --no-motd suppress daemon-mode MOTD (see manpage caveat)\n");
rprintf(F," -c, --checksum skip based on checksum, not mod-time & size\n");
rprintf(F," -q, --quiet suppress non-error messages\n");
rprintf(F," --no-motd suppress daemon-mode MOTD (see manpage caveat)\n");
rprintf(F," -c, --checksum skip based on checksum, not mod-time & size\n");
@@
-633,7
+633,7
@@
diff --git a/options.c b/options.c
rprintf(F," -a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)\n");
rprintf(F," --no-OPTION turn off an implied OPTION (e.g. --no-D)\n");
rprintf(F," -r, --recursive recurse into directories\n");
rprintf(F," -a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)\n");
rprintf(F," --no-OPTION turn off an implied OPTION (e.g. --no-D)\n");
rprintf(F," -r, --recursive recurse into directories\n");
-@@ -44
6,7 +448
,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
+@@ -44
7,7 +449
,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
OPT_FILTER, OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_HELP,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD,
OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE,
OPT_FILTER, OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_HELP,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD,
OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE,
@@
-642,7
+642,7
@@
diff --git a/options.c b/options.c
OPT_SERVER, OPT_REFUSED_BASE = 9000};
static struct poptOption long_options[] = {
OPT_SERVER, OPT_REFUSED_BASE = 9000};
static struct poptOption long_options[] = {
-@@ -57
4,6 +576
,7 @@ static struct poptOption long_options[] = {
+@@ -57
5,6 +577
,7 @@ static struct poptOption long_options[] = {
{"checksum", 'c', POPT_ARG_VAL, &always_checksum, 1, 0, 0 },
{"no-checksum", 0, POPT_ARG_VAL, &always_checksum, 0, 0, 0 },
{"no-c", 0, POPT_ARG_VAL, &always_checksum, 0, 0, 0 },
{"checksum", 'c', POPT_ARG_VAL, &always_checksum, 1, 0, 0 },
{"no-checksum", 0, POPT_ARG_VAL, &always_checksum, 0, 0, 0 },
{"no-c", 0, POPT_ARG_VAL, &always_checksum, 0, 0, 0 },
@@
-650,7
+650,7
@@
diff --git a/options.c b/options.c
{"block-size", 'B', POPT_ARG_LONG, &block_size, 0, 0, 0 },
{"compare-dest", 0, POPT_ARG_STRING, 0, OPT_COMPARE_DEST, 0, 0 },
{"copy-dest", 0, POPT_ARG_STRING, 0, OPT_COPY_DEST, 0, 0 },
{"block-size", 'B', POPT_ARG_LONG, &block_size, 0, 0, 0 },
{"compare-dest", 0, POPT_ARG_STRING, 0, OPT_COMPARE_DEST, 0, 0 },
{"copy-dest", 0, POPT_ARG_STRING, 0, OPT_COPY_DEST, 0, 0 },
-@@ -122
8,6 +1231
,23 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -122
9,6 +1232
,23 @@ int parse_arguments(int *argc_p, const char ***argv_p)
}
break;
}
break;
@@
-674,7
+674,7
@@
diff --git a/options.c b/options.c
case OPT_HELP:
usage(FINFO);
exit_cleanup(0);
case OPT_HELP:
usage(FINFO);
exit_cleanup(0);
-@@ -133
2,6 +1352
,9 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -133
3,6 +1353
,9 @@ int parse_arguments(int *argc_p, const char ***argv_p)
}
#endif
}
#endif
@@
-715,7
+715,7
@@
diff --git a/rsync.h b/rsync.h
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -3
17,6 +317
,7 @@ to the detailed description below for a complete description. verb(
+@@ -3
21,6 +321
,7 @@ to the detailed description below for a complete description. verb(
-q, --quiet suppress non-error messages
--no-motd suppress daemon-mode MOTD (see caveat)
-c, --checksum skip based on checksum, not mod-time & size
-q, --quiet suppress non-error messages
--no-motd suppress daemon-mode MOTD (see caveat)
-c, --checksum skip based on checksum, not mod-time & size
@@
-723,7
+723,7
@@
diff --git a/rsync.yo b/rsync.yo
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
--no-OPTION turn off an implied OPTION (e.g. --no-D)
-r, --recursive recurse into directories
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
--no-OPTION turn off an implied OPTION (e.g. --no-D)
-r, --recursive recurse into directories
-@@ -5
16,9 +517
,9 @@ uses a "quick check" that (by default) checks if each file's size and time
+@@ -5
20,9 +521
,9 @@ uses a "quick check" that (by default) checks if each file's size and time
of last modification match between the sender and receiver. This option
changes this to compare a 128-bit MD4 checksum for each file that has a
matching size. Generating the checksums means that both sides will expend
of last modification match between the sender and receiver. This option
changes this to compare a 128-bit MD4 checksum for each file that has a
matching size. Generating the checksums means that both sides will expend
@@
-736,7
+736,7
@@
diff --git a/rsync.yo b/rsync.yo
The sending side generates its checksums while it is doing the file-system
scan that builds the list of the available files. The receiver generates
The sending side generates its checksums while it is doing the file-system
scan that builds the list of the available files. The receiver generates
-@@ -5
26,12 +527
,44 @@ its checksums when it is scanning for changed files, and will checksum any
+@@ -5
30,12 +531
,44 @@ its checksums when it is scanning for changed files, and will checksum any
file that has the same size as the corresponding sender's file: files with
either a changed size or a changed checksum are selected for transfer.
file that has the same size as the corresponding sender's file: files with
either a changed size or a changed checksum are selected for transfer.
diff --git
a/checksum-updating.diff
b/checksum-updating.diff
index
d8f98fc
..
8976aa2
100644
(file)
--- a/
checksum-updating.diff
+++ b/
checksum-updating.diff
@@
-423,7
+423,7
@@
diff --git a/flist.c b/flist.c
else
file_checksum(thisname, st.st_size, tmp_sum);
}
else
file_checksum(thisname, st.st_size, tmp_sum);
}
-@@ -1
915,6 +2128
,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len,
+@@ -1
896,6 +2109
,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len,
closedir(d);
closedir(d);
@@
-433,7
+433,7
@@
diff --git a/flist.c b/flist.c
if (f >= 0 && recurse && !divert_dirs) {
int i, end = flist->used - 1;
/* send_if_directory() bumps flist->used, so use "end". */
if (f >= 0 && recurse && !divert_dirs) {
int i, end = flist->used - 1;
/* send_if_directory() bumps flist->used, so use "end". */
-@@ -2
512,6 +2728
,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+@@ -2
493,6 +2709
,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
} else
flist_eof = 1;
} else
flist_eof = 1;
@@
-454,7
+454,7
@@
diff --git a/generator.c b/generator.c
static const char *solo_file = NULL;
/* For calling delete_item() and delete_dir_contents(). */
static const char *solo_file = NULL;
/* For calling delete_item() and delete_dir_contents(). */
-@@ -72
3,7 +724
,7 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st, int slot
+@@ -72
6,7 +727
,7 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st, int slot
if (always_checksum > 0 && S_ISREG(st->st_mode)) {
char sum[MAX_DIGEST_LEN];
if (checksum_files && slot >= 0)
if (always_checksum > 0 && S_ISREG(st->st_mode)) {
char sum[MAX_DIGEST_LEN];
if (checksum_files && slot >= 0)
@@
-463,7
+463,7
@@
diff --git a/generator.c b/generator.c
else
file_checksum(fn, st->st_size, sum);
return memcmp(sum, F_SUM(file), checksum_len) == 0;
else
file_checksum(fn, st->st_size, sum);
return memcmp(sum, F_SUM(file), checksum_len) == 0;
-@@ -136
6,7 +1367
,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -136
9,7 +1370
,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
fuzzy_dirlist = get_dirlist(fnamecmpbuf, -1, 1);
}
if (checksum_files) {
fuzzy_dirlist = get_dirlist(fnamecmpbuf, -1, 1);
}
if (checksum_files) {
@@
-473,7
+473,7
@@
diff --git a/generator.c b/generator.c
}
need_new_dirscan = 0;
}
}
need_new_dirscan = 0;
}
-@@ -151
6,6 +1518
,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -151
9,6 +1521
,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
else
change_local_filter_dir(fname, strlen(fname), F_DEPTH(file));
}
else
change_local_filter_dir(fname, strlen(fname), F_DEPTH(file));
}
@@
-481,7
+481,7
@@
diff --git a/generator.c b/generator.c
goto cleanup;
}
goto cleanup;
}
-@@ -18
08,6 +1811
,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -18
11,6 +1814
,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
handle_partial_dir(partialptr, PDIR_DELETE);
}
set_file_attrs(fname, file, &sx, NULL, maybe_ATTRS_REPORT);
handle_partial_dir(partialptr, PDIR_DELETE);
}
set_file_attrs(fname, file, &sx, NULL, maybe_ATTRS_REPORT);
@@
-490,7
+490,7
@@
diff --git a/generator.c b/generator.c
if (itemizing)
itemize(fnamecmp, file, ndx, statret, &sx, 0, 0, NULL);
#ifdef SUPPORT_HARD_LINKS
if (itemizing)
itemize(fnamecmp, file, ndx, statret, &sx, 0, 0, NULL);
#ifdef SUPPORT_HARD_LINKS
-@@ -22
49,6 +2254
,7 @@ void generate_files(int f_out, const char *local_name)
+@@ -22
52,6 +2257
,7 @@ void generate_files(int f_out, const char *local_name)
} else
change_local_filter_dir(fbuf, strlen(fbuf), F_DEPTH(fp));
}
} else
change_local_filter_dir(fbuf, strlen(fbuf), F_DEPTH(fp));
}
@@
-498,7
+498,7
@@
diff --git a/generator.c b/generator.c
}
for (i = cur_flist->low; i <= cur_flist->high; i++) {
struct file_struct *file = cur_flist->sorted[i];
}
for (i = cur_flist->low; i <= cur_flist->high; i++) {
struct file_struct *file = cur_flist->sorted[i];
-@@ -233
5,6 +2341
,9 @@ void generate_files(int f_out, const char *local_name)
+@@ -233
8,6 +2344
,9 @@ void generate_files(int f_out, const char *local_name)
wait_for_receiver();
}
wait_for_receiver();
}
@@
-546,7
+546,7
@@
diff --git a/loadparm.c b/loadparm.c
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
-@@ -123
3,7 +1233
,15 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -123
4,7 +1234
,15 @@ int parse_arguments(int *argc_p, const char ***argv_p)
case OPT_SUMFILES:
arg = poptGetOptArg(pc);
case OPT_SUMFILES:
arg = poptGetOptArg(pc);
@@
-574,7
+574,7
@@
diff --git a/receiver.c b/receiver.c
extern int inplace;
extern int delay_updates;
extern mode_t orig_umask;
extern int inplace;
extern int delay_updates;
extern mode_t orig_umask;
-@@ -34
0,7 +341
,7 @@ static void handle_delayed_updates(char *local_name)
+@@ -34
3,7 +344
,7 @@ static void handle_delayed_updates(char *local_name)
"rename failed for %s (from %s)",
full_fname(fname), partialptr);
} else {
"rename failed for %s (from %s)",
full_fname(fname), partialptr);
} else {
@@
-583,7
+583,7
@@
diff --git a/receiver.c b/receiver.c
|| (preserve_hard_links && F_IS_HLINKED(file)))
send_msg_int(MSG_SUCCESS, ndx);
handle_partial_dir(partialptr, PDIR_DELETE);
|| (preserve_hard_links && F_IS_HLINKED(file)))
send_msg_int(MSG_SUCCESS, ndx);
handle_partial_dir(partialptr, PDIR_DELETE);
-@@ -75
5,7 +756
,7 @@ int recv_files(int f_in, char *local_name)
+@@ -75
8,7 +759
,7 @@ int recv_files(int f_in, char *local_name)
case 2:
break;
case 1:
case 2:
break;
case 1:
@@
-607,7
+607,7
@@
diff --git a/rsync.h b/rsync.h
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -54
4,9 +544
,13 @@ computed just as it would be if bf(--sumfiles) was not specified.
+@@ -54
8,9 +548
,13 @@ computed just as it would be if bf(--sumfiles) was not specified.
The MODE value is either "lax", for relaxed checking (which compares size
and mtime), "strict" (which also compares ctime and inode), or "none" to
The MODE value is either "lax", for relaxed checking (which compares size
and mtime), "strict" (which also compares ctime and inode), or "none" to
diff --git
a/checksum-xattr.diff
b/checksum-xattr.diff
index
0515194
..
1272f71
100644
(file)
--- a/
checksum-xattr.diff
+++ b/
checksum-xattr.diff
@@
-24,7
+24,7
@@
diff --git a/flist.c b/flist.c
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
-@@ -72
1,7 +721
,8 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
+@@ -72
4,7 +724
,8 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
of the file time to determine whether to sync */
if (always_checksum > 0 && S_ISREG(st->st_mode)) {
char sum[MAX_DIGEST_LEN];
of the file time to determine whether to sync */
if (always_checksum > 0 && S_ISREG(st->st_mode)) {
char sum[MAX_DIGEST_LEN];
diff --git
a/copy-devices.diff
b/copy-devices.diff
index
67b6168
..
a900172
100644
(file)
--- a/
copy-devices.diff
+++ b/
copy-devices.diff
@@
-19,7
+19,7
@@
diff --git a/generator.c b/generator.c
extern int preserve_specials;
extern int preserve_hard_links;
extern int preserve_executability;
extern int preserve_specials;
extern int preserve_hard_links;
extern int preserve_executability;
-@@ -16
88,7 +1689
,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -16
91,7 +1692
,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
goto cleanup;
}
goto cleanup;
}
@@
-39,7
+39,7
@@
diff --git a/options.c b/options.c
int preserve_links = 0;
int preserve_hard_links = 0;
int preserve_acls = 0;
int preserve_links = 0;
int preserve_hard_links = 0;
int preserve_acls = 0;
-@@ -3
49,6 +350
,7 @@ void usage(enum logcode F)
+@@ -3
50,6 +351
,7 @@ void usage(enum logcode F)
rprintf(F," -o, --owner preserve owner (super-user only)\n");
rprintf(F," -g, --group preserve group\n");
rprintf(F," --devices preserve device files (super-user only)\n");
rprintf(F," -o, --owner preserve owner (super-user only)\n");
rprintf(F," -g, --group preserve group\n");
rprintf(F," --devices preserve device files (super-user only)\n");
@@
-47,7
+47,7
@@
diff --git a/options.c b/options.c
rprintf(F," --specials preserve special files\n");
rprintf(F," -D same as --devices --specials\n");
rprintf(F," -t, --times preserve modification times\n");
rprintf(F," --specials preserve special files\n");
rprintf(F," -D same as --devices --specials\n");
rprintf(F," -t, --times preserve modification times\n");
-@@ -50
7,6 +509
,7 @@ static struct poptOption long_options[] = {
+@@ -50
8,6 +510
,7 @@ static struct poptOption long_options[] = {
{"no-D", 0, POPT_ARG_NONE, 0, OPT_NO_D, 0, 0 },
{"devices", 0, POPT_ARG_VAL, &preserve_devices, 1, 0, 0 },
{"no-devices", 0, POPT_ARG_VAL, &preserve_devices, 0, 0, 0 },
{"no-D", 0, POPT_ARG_NONE, 0, OPT_NO_D, 0, 0 },
{"devices", 0, POPT_ARG_VAL, &preserve_devices, 1, 0, 0 },
{"no-devices", 0, POPT_ARG_VAL, &preserve_devices, 0, 0, 0 },
@@
-55,7
+55,7
@@
diff --git a/options.c b/options.c
{"specials", 0, POPT_ARG_VAL, &preserve_specials, 1, 0, 0 },
{"no-specials", 0, POPT_ARG_VAL, &preserve_specials, 0, 0, 0 },
{"links", 'l', POPT_ARG_VAL, &preserve_links, 1, 0, 0 },
{"specials", 0, POPT_ARG_VAL, &preserve_specials, 1, 0, 0 },
{"no-specials", 0, POPT_ARG_VAL, &preserve_specials, 0, 0, 0 },
{"links", 'l', POPT_ARG_VAL, &preserve_links, 1, 0, 0 },
-@@ -206
2,6 +2065
,9 @@ void server_options(char **args, int *argc_p)
+@@ -206
3,6 +2066
,9 @@ void server_options(char **args, int *argc_p)
else if (remove_source_files)
args[ac++] = "--remove-sent-files";
else if (remove_source_files)
args[ac++] = "--remove-sent-files";
diff --git
a/crtimes.diff
b/crtimes.diff
index
af7ffef
..
d83bd9a
100644
(file)
--- a/
crtimes.diff
+++ b/
crtimes.diff
@@
-155,7
+155,7
@@
diff --git a/generator.c b/generator.c
extern int preserve_hard_links;
extern int preserve_executability;
extern int preserve_fileflags;
extern int preserve_hard_links;
extern int preserve_executability;
extern int preserve_fileflags;
-@@ -62
0,6 +622
,13 @@ int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp)
+@@ -62
3,6 +625
,13 @@ int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp)
if (gid_ndx && !(file->flags & FLAG_SKIP_GROUP) && sxp->st.st_gid != (gid_t)F_GROUP(file))
return 0;
if (gid_ndx && !(file->flags & FLAG_SKIP_GROUP) && sxp->st.st_gid != (gid_t)F_GROUP(file))
return 0;
@@
-169,7
+169,7
@@
diff --git a/generator.c b/generator.c
#ifdef SUPPORT_ACLS
if (preserve_acls && !S_ISLNK(file->mode)) {
if (!ACL_READY(*sxp))
#ifdef SUPPORT_ACLS
if (preserve_acls && !S_ISLNK(file->mode)) {
if (!ACL_READY(*sxp))
-@@ -66
3,6 +672
,12 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -66
6,6 +675
,12 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
: iflags & (ITEM_TRANSFER|ITEM_LOCAL_CHANGE) && !(iflags & ITEM_MATCHED)
&& (!(iflags & ITEM_XNAME_FOLLOWS) || *xname))
iflags |= ITEM_REPORT_TIME;
: iflags & (ITEM_TRANSFER|ITEM_LOCAL_CHANGE) && !(iflags & ITEM_MATCHED)
&& (!(iflags & ITEM_XNAME_FOLLOWS) || *xname))
iflags |= ITEM_REPORT_TIME;
@@
-182,7
+182,7
@@
diff --git a/generator.c b/generator.c
#if !defined HAVE_LCHMOD && !defined HAVE_SETATTRLIST
if (S_ISLNK(file->mode)) {
;
#if !defined HAVE_LCHMOD && !defined HAVE_SETATTRLIST
if (S_ISLNK(file->mode)) {
;
-@@ -122
3,6 +1238
,7 @@ static int try_dests_non(struct file_struct *file, char *fname, int ndx,
+@@ -122
6,6 +1241
,7 @@ static int try_dests_non(struct file_struct *file, char *fname, int ndx,
static void list_file_entry(struct file_struct *f)
{
char permbuf[PERMSTRING_SIZE];
static void list_file_entry(struct file_struct *f)
{
char permbuf[PERMSTRING_SIZE];
@@
-190,7
+190,7
@@
diff --git a/generator.c b/generator.c
double len;
if (!F_IS_ACTIVE(f)) {
double len;
if (!F_IS_ACTIVE(f)) {
-@@ -12
37,14 +1253
,16 @@ static void list_file_entry(struct file_struct *f)
+@@ -12
40,14 +1256
,16 @@ static void list_file_entry(struct file_struct *f)
#ifdef SUPPORT_LINKS
if (preserve_links && S_ISLNK(f->mode)) {
#ifdef SUPPORT_LINKS
if (preserve_links && S_ISLNK(f->mode)) {
@@
-209,7
+209,7
@@
diff --git a/generator.c b/generator.c
f_name(f, NULL));
}
}
f_name(f, NULL));
}
}
-@@ -133
6,6 +1354
,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -133
9,6 +1357
,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
return;
}
}
return;
}
}
@@
-292,7
+292,7
@@
diff --git a/options.c b/options.c
int update_only = 0;
int cvs_exclude = 0;
int dry_run = 0;
int update_only = 0;
int cvs_exclude = 0;
int dry_run = 0;
-@@ -36
2,6 +363
,7 @@ void usage(enum logcode F)
+@@ -36
3,6 +364
,7 @@ void usage(enum logcode F)
rprintf(F," -D same as --devices --specials\n");
rprintf(F," -t, --times preserve modification times\n");
rprintf(F," -O, --omit-dir-times omit directories from --times\n");
rprintf(F," -D same as --devices --specials\n");
rprintf(F," -t, --times preserve modification times\n");
rprintf(F," -O, --omit-dir-times omit directories from --times\n");
@@
-300,7
+300,7
@@
diff --git a/options.c b/options.c
rprintf(F," --super receiver attempts super-user activities\n");
#ifdef SUPPORT_XATTRS
rprintf(F," --fake-super store/recover privileged attrs using xattrs\n");
rprintf(F," --super receiver attempts super-user activities\n");
#ifdef SUPPORT_XATTRS
rprintf(F," --fake-super store/recover privileged attrs using xattrs\n");
-@@ -50
8,6 +510
,9 @@ static struct poptOption long_options[] = {
+@@ -50
9,6 +511
,9 @@ static struct poptOption long_options[] = {
{"times", 't', POPT_ARG_VAL, &preserve_times, 2, 0, 0 },
{"no-times", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 },
{"no-t", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 },
{"times", 't', POPT_ARG_VAL, &preserve_times, 2, 0, 0 },
{"no-times", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 },
{"no-t", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 },
@@
-310,7
+310,7
@@
diff --git a/options.c b/options.c
{"omit-dir-times", 'O', POPT_ARG_VAL, &omit_dir_times, 1, 0, 0 },
{"no-omit-dir-times",0, POPT_ARG_VAL, &omit_dir_times, 0, 0, 0 },
{"no-O", 0, POPT_ARG_VAL, &omit_dir_times, 0, 0, 0 },
{"omit-dir-times", 'O', POPT_ARG_VAL, &omit_dir_times, 1, 0, 0 },
{"no-omit-dir-times",0, POPT_ARG_VAL, &omit_dir_times, 0, 0, 0 },
{"no-O", 0, POPT_ARG_VAL, &omit_dir_times, 0, 0, 0 },
-@@ -1
799,6 +1804
,8 @@ void server_options(char **args, int *argc_p)
+@@ -1
800,6 +1805
,8 @@ void server_options(char **args, int *argc_p)
argstr[x++] = 'D';
if (preserve_times)
argstr[x++] = 't';
argstr[x++] = 'D';
if (preserve_times)
argstr[x++] = 't';
@@
-418,7
+418,7
@@
diff --git a/rsync.h b/rsync.h
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -35
0,6 +350
,7 @@ to the detailed description below for a complete description. verb(
+@@ -35
4,6 +354
,7 @@ to the detailed description below for a complete description. verb(
-D same as --devices --specials
-t, --times preserve modification times
-O, --omit-dir-times omit directories from --times
-D same as --devices --specials
-t, --times preserve modification times
-O, --omit-dir-times omit directories from --times
@@
-426,7
+426,7
@@
diff --git a/rsync.yo b/rsync.yo
--super receiver attempts super-user activities
--fake-super store/recover privileged attrs using xattrs
-S, --sparse handle sparse files efficiently
--super receiver attempts super-user activities
--fake-super store/recover privileged attrs using xattrs
-S, --sparse handle sparse files efficiently
-@@ -10
28,6 +1029
,9 @@ it is preserving modification times (see bf(--times)). If NFS is sharing
+@@ -10
32,6 +1033
,9 @@ it is preserving modification times (see bf(--times)). If NFS is sharing
the directories on the receiving side, it is a good idea to use bf(-O).
This option is inferred if you use bf(--backup) without bf(--backup-dir).
the directories on the receiving side, it is a good idea to use bf(-O).
This option is inferred if you use bf(--backup) without bf(--backup-dir).
@@
-436,7
+436,7
@@
diff --git a/rsync.yo b/rsync.yo
dit(bf(--super)) This tells the receiving side to attempt super-user
activities even if the receiving rsync wasn't run by the super-user. These
activities include: preserving users via the bf(--owner) option, preserving
dit(bf(--super)) This tells the receiving side to attempt super-user
activities even if the receiving rsync wasn't run by the super-user. These
activities include: preserving users via the bf(--owner) option, preserving
-@@ -169
2,7 +1696
,7 @@ with older versions of rsync, but that also turns on the output of other
+@@ -169
6,7 +1700
,7 @@ with older versions of rsync, but that also turns on the output of other
verbose messages).
The "%i" escape has a cryptic output that is 11 letters long. The general
verbose messages).
The "%i" escape has a cryptic output that is 11 letters long. The general
@@
-445,7
+445,7
@@
diff --git a/rsync.yo b/rsync.yo
type of update being done, bf(X) is replaced by the file-type, and the
other letters represent attributes that may be output if they are being
modified.
type of update being done, bf(X) is replaced by the file-type, and the
other letters represent attributes that may be output if they are being
modified.
-@@ -175
1,6 +1755
,8 @@ quote(itemization(
+@@ -175
5,6 +1759
,8 @@ quote(itemization(
it() The bf(f) means that the fileflags information changed.
it() The bf(a) means that the ACL information changed.
it() The bf(x) means that the extended attribute information changed.
it() The bf(f) means that the fileflags information changed.
it() The bf(a) means that the ACL information changed.
it() The bf(x) means that the extended attribute information changed.
diff --git
a/date-only.diff
b/date-only.diff
index
3b126ba
..
693e017
100644
(file)
--- a/
date-only.diff
+++ b/
date-only.diff
@@
-25,7
+25,7
@@
diff --git a/generator.c b/generator.c
extern int size_only;
extern OFF_T max_size;
extern OFF_T min_size;
extern int size_only;
extern OFF_T max_size;
extern OFF_T min_size;
-@@ -71
4,6 +715
,9 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -71
7,6 +718
,9 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
/* Perform our quick-check heuristic for determining if a file is unchanged. */
int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
{
/* Perform our quick-check heuristic for determining if a file is unchanged. */
int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
{
@@
-46,7
+46,7
@@
diff --git a/options.c b/options.c
int daemon_bwlimit = 0;
int bwlimit = 0;
int fuzzy_basis = 0;
int daemon_bwlimit = 0;
int bwlimit = 0;
int fuzzy_basis = 0;
-@@ -38
8,6 +389
,7 @@ void usage(enum logcode F)
+@@ -38
9,6 +390
,7 @@ void usage(enum logcode F)
rprintf(F," --contimeout=SECONDS set daemon connection timeout in seconds\n");
rprintf(F," -I, --ignore-times don't skip files that match in size and mod-time\n");
rprintf(F," --size-only skip files that match in size\n");
rprintf(F," --contimeout=SECONDS set daemon connection timeout in seconds\n");
rprintf(F," -I, --ignore-times don't skip files that match in size and mod-time\n");
rprintf(F," --size-only skip files that match in size\n");
@@
-54,7
+54,7
@@
diff --git a/options.c b/options.c
rprintf(F," --modify-window=NUM compare mod-times with reduced accuracy\n");
rprintf(F," -T, --temp-dir=DIR create temporary files in directory DIR\n");
rprintf(F," -y, --fuzzy find similar file for basis if no dest file\n");
rprintf(F," --modify-window=NUM compare mod-times with reduced accuracy\n");
rprintf(F," -T, --temp-dir=DIR create temporary files in directory DIR\n");
rprintf(F," -y, --fuzzy find similar file for basis if no dest file\n");
-@@ -53
0,6 +532
,7 @@ static struct poptOption long_options[] = {
+@@ -53
1,6 +533
,7 @@ static struct poptOption long_options[] = {
{"chmod", 0, POPT_ARG_STRING, 0, OPT_CHMOD, 0, 0 },
{"ignore-times", 'I', POPT_ARG_NONE, &ignore_times, 0, 0, 0 },
{"size-only", 0, POPT_ARG_NONE, &size_only, 0, 0, 0 },
{"chmod", 0, POPT_ARG_STRING, 0, OPT_CHMOD, 0, 0 },
{"ignore-times", 'I', POPT_ARG_NONE, &ignore_times, 0, 0, 0 },
{"size-only", 0, POPT_ARG_NONE, &size_only, 0, 0, 0 },
@@
-62,7
+62,7
@@
diff --git a/options.c b/options.c
{"one-file-system", 'x', POPT_ARG_NONE, 0, 'x', 0, 0 },
{"no-one-file-system",'x',POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
{"no-x", 'x', POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
{"one-file-system", 'x', POPT_ARG_NONE, 0, 'x', 0, 0 },
{"no-one-file-system",'x',POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
{"no-x", 'x', POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
-@@ -196
8,6 +1971
,9 @@ void server_options(char **args, int *argc_p)
+@@ -196
9,6 +1972
,9 @@ void server_options(char **args, int *argc_p)
}
}
}
}
@@
-75,7
+75,7
@@
diff --git a/options.c b/options.c
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -38
2,6 +382
,7 @@ to the detailed description below for a complete description. verb(
+@@ -38
6,6 +386
,7 @@ to the detailed description below for a complete description. verb(
--contimeout=SECONDS set daemon connection timeout in seconds
-I, --ignore-times don't skip files that match size and time
--size-only skip files that match in size
--contimeout=SECONDS set daemon connection timeout in seconds
-I, --ignore-times don't skip files that match size and time
--size-only skip files that match in size
@@
-83,7
+83,7
@@
diff --git a/rsync.yo b/rsync.yo
--modify-window=NUM compare mod-times with reduced accuracy
-T, --temp-dir=DIR create temporary files in directory DIR
-y, --fuzzy find similar file for basis if no dest file
--modify-window=NUM compare mod-times with reduced accuracy
-T, --temp-dir=DIR create temporary files in directory DIR
-y, --fuzzy find similar file for basis if no dest file
-@@ -50
2,6 +503
,12 @@ time to just looking for files that have changed in size. This is useful
+@@ -50
6,6 +507
,12 @@ time to just looking for files that have changed in size. This is useful
when starting to use rsync after using another mirroring system which may
not preserve timestamps exactly.
when starting to use rsync after using another mirroring system which may
not preserve timestamps exactly.
diff --git
a/db.diff
b/db.diff
index
9850b64
..
524e340
100644
(file)
--- a/
db.diff
+++ b/
db.diff
@@
-133,7
+133,7
@@
diff --git a/clientserver.c b/clientserver.c
#ifdef HAVE_PUTENV
if (*lp_prexfer_exec(i) || *lp_postxfer_exec(i)) {
char *modname, *modpath, *hostaddr, *hostname, *username;
#ifdef HAVE_PUTENV
if (*lp_prexfer_exec(i) || *lp_postxfer_exec(i)) {
char *modname, *modpath, *hostaddr, *hostname, *username;
-@@ -76
6,6 +772
,10 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
+@@ -76
7,6 +773
,10 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
am_server = 1; /* Don't let someone try to be tricky. */
quiet = 0;
am_server = 1; /* Don't let someone try to be tricky. */
quiet = 0;
@@
-785,10
+785,10
@@
diff --git a/flist.c b/flist.c
+ file_checksum(thisname, &st, tmp_sum);
+ }
+
+ file_checksum(thisname, &st, tmp_sum);
+ }
+
- /* This code is only used by the receiver when it is building
- * a list of files for a delete pass. */
- if (keep_dirlinks && linkname_len && flist) {
-@@ -19
53,6 +1956
,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+ if (basename_len == 0+1) {
+ if (!pool)
+ unmake_file(file);
+@@ -19
34,6 +1937
,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
| (eol_nulls || reading_remotely ? RL_EOL_NULLS : 0);
int implied_dot_dir = 0;
| (eol_nulls || reading_remotely ? RL_EOL_NULLS : 0);
int implied_dot_dir = 0;
@@
-809,7
+809,7
@@
diff --git a/generator.c b/generator.c
extern int append_mode;
extern int make_backups;
extern int csum_length;
extern int append_mode;
extern int make_backups;
extern int csum_length;
-@@ -72
1,7 +722
,8 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
+@@ -72
4,7 +725
,8 @@ int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
of the file time to determine whether to sync */
if (always_checksum > 0 && S_ISREG(st->st_mode)) {
char sum[MAX_DIGEST_LEN];
of the file time to determine whether to sync */
if (always_checksum > 0 && S_ISREG(st->st_mode)) {
char sum[MAX_DIGEST_LEN];
@@
-819,7
+819,7
@@
diff --git a/generator.c b/generator.c
return memcmp(sum, F_SUM(file), checksum_len) == 0;
}
return memcmp(sum, F_SUM(file), checksum_len) == 0;
}
-@@ -220
3,6 +2205
,9 @@ void generate_files(int f_out, const char *local_name)
+@@ -220
6,6 +2208
,9 @@ void generate_files(int f_out, const char *local_name)
: "enabled");
}
: "enabled");
}
@@
-912,7
+912,7
@@
diff --git a/options.c b/options.c
STRUCT_STAT *dumstat;
#if SUBPROTOCOL_VERSION != 0
STRUCT_STAT *dumstat;
#if SUBPROTOCOL_VERSION != 0
-@@ -26
1,6 +263
,11 @@ static void print_rsync_version(enum logcode f)
+@@ -26
2,6 +264
,11 @@ static void print_rsync_version(enum logcode f)
#if defined HAVE_LUTIMES && defined HAVE_UTIMES
symtimes = "";
#endif
#if defined HAVE_LUTIMES && defined HAVE_UTIMES
symtimes = "";
#endif
@@
-924,7
+924,7
@@
diff --git a/options.c b/options.c
rprintf(f, "%s version %s protocol version %d%s\n",
RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
rprintf(f, "%s version %s protocol version %d%s\n",
RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
-@@ -27
4,8 +281
,8 @@ static void print_rsync_version(enum logcode f)
+@@ -27
5,8 +282
,8 @@ static void print_rsync_version(enum logcode f)
(int)(sizeof (int64) * 8));
rprintf(f, " %ssocketpairs, %shardlinks, %ssymlinks, %sIPv6, batchfiles, %sinplace,\n",
got_socketpair, hardlinks, links, ipv6, have_inplace);
(int)(sizeof (int64) * 8));
rprintf(f, " %ssocketpairs, %shardlinks, %ssymlinks, %sIPv6, batchfiles, %sinplace,\n",
got_socketpair, hardlinks, links, ipv6, have_inplace);
@@
-935,7
+935,7
@@
diff --git a/options.c b/options.c
#ifdef MAINTAINER_MODE
rprintf(f, "Panic Action: \"%s\"\n", get_panic_action());
#ifdef MAINTAINER_MODE
rprintf(f, "Panic Action: \"%s\"\n", get_panic_action());
-@@ -32
1,6 +328
,7 @@ void usage(enum logcode F)
+@@ -32
2,6 +329
,7 @@ void usage(enum logcode F)
rprintf(F," -q, --quiet suppress non-error messages\n");
rprintf(F," --no-motd suppress daemon-mode MOTD (see manpage caveat)\n");
rprintf(F," -c, --checksum skip based on checksum, not mod-time & size\n");
rprintf(F," -q, --quiet suppress non-error messages\n");
rprintf(F," --no-motd suppress daemon-mode MOTD (see manpage caveat)\n");
rprintf(F," -c, --checksum skip based on checksum, not mod-time & size\n");
@@
-943,7
+943,7
@@
diff --git a/options.c b/options.c
rprintf(F," -a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)\n");
rprintf(F," --no-OPTION turn off an implied OPTION (e.g. --no-D)\n");
rprintf(F," -r, --recursive recurse into directories\n");
rprintf(F," -a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)\n");
rprintf(F," --no-OPTION turn off an implied OPTION (e.g. --no-D)\n");
rprintf(F," -r, --recursive recurse into directories\n");
-@@ -5
79,6 +587
,7 @@ static struct poptOption long_options[] = {
+@@ -5
80,6 +588
,7 @@ static struct poptOption long_options[] = {
{"checksum", 'c', POPT_ARG_VAL, &always_checksum, 1, 0, 0 },
{"no-checksum", 0, POPT_ARG_VAL, &always_checksum, 0, 0, 0 },
{"no-c", 0, POPT_ARG_VAL, &always_checksum, 0, 0, 0 },
{"checksum", 'c', POPT_ARG_VAL, &always_checksum, 1, 0, 0 },
{"no-checksum", 0, POPT_ARG_VAL, &always_checksum, 0, 0, 0 },
{"no-c", 0, POPT_ARG_VAL, &always_checksum, 0, 0, 0 },
@@
-986,7
+986,7
@@
diff --git a/pipe.c b/pipe.c
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -3
17,6 +317
,7 @@ to the detailed description below for a complete description. verb(
+@@ -3
21,6 +321
,7 @@ to the detailed description below for a complete description. verb(
-q, --quiet suppress non-error messages
--no-motd suppress daemon-mode MOTD (see caveat)
-c, --checksum skip based on checksum, not mod-time & size
-q, --quiet suppress non-error messages
--no-motd suppress daemon-mode MOTD (see caveat)
-c, --checksum skip based on checksum, not mod-time & size
@@
-994,7
+994,7
@@
diff --git a/rsync.yo b/rsync.yo
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
--no-OPTION turn off an implied OPTION (e.g. --no-D)
-r, --recursive recurse into directories
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
--no-OPTION turn off an implied OPTION (e.g. --no-D)
-r, --recursive recurse into directories
-@@ -53
3,6 +534
,47 @@ checksum that is generated as the file is transferred, but that
+@@ -53
7,6 +538
,47 @@ checksum that is generated as the file is transferred, but that
automatic after-the-transfer verification has nothing to do with this
option's before-the-transfer "Does this file need to be updated?" check.
automatic after-the-transfer verification has nothing to do with this
option's before-the-transfer "Does this file need to be updated?" check.
diff --git
a/detect-renamed-lax.diff
b/detect-renamed-lax.diff
index
be4b35a
..
2c84ed2
100644
(file)
--- a/
detect-renamed-lax.diff
+++ b/
detect-renamed-lax.diff
@@
-34,7
+34,7
@@
diff --git a/generator.c b/generator.c
diff = u_strcmp(fmid->basename, f->basename);
if (diff == 0) {
good_match = mid;
diff = u_strcmp(fmid->basename, f->basename);
if (diff == 0) {
good_match = mid;
-@@ -198
5,6 +1987
,21 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -198
8,6 +1990
,21 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
fnamecmp = partialptr;
fnamecmp_type = FNAMECMP_PARTIAL_DIR;
statret = 0;
fnamecmp = partialptr;
fnamecmp_type = FNAMECMP_PARTIAL_DIR;
statret = 0;
@@
-59,7
+59,7
@@
diff --git a/generator.c b/generator.c
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
-@@ -39
3,6 +393
,8 @@ void usage(enum logcode F)
+@@ -39
4,6 +394
,8 @@ void usage(enum logcode F)
rprintf(F," -T, --temp-dir=DIR create temporary files in directory DIR\n");
rprintf(F," -y, --fuzzy find similar file for basis if no dest file\n");
rprintf(F," --detect-renamed try to find renamed files to speed up the transfer\n");
rprintf(F," -T, --temp-dir=DIR create temporary files in directory DIR\n");
rprintf(F," -y, --fuzzy find similar file for basis if no dest file\n");
rprintf(F," --detect-renamed try to find renamed files to speed up the transfer\n");
@@
-68,7
+68,7
@@
diff --git a/options.c b/options.c
rprintf(F," --compare-dest=DIR also compare destination files relative to DIR\n");
rprintf(F," --copy-dest=DIR ... and include copies of unchanged files\n");
rprintf(F," --link-dest=DIR hardlink to files in DIR when unchanged\n");
rprintf(F," --compare-dest=DIR also compare destination files relative to DIR\n");
rprintf(F," --copy-dest=DIR ... and include copies of unchanged files\n");
rprintf(F," --link-dest=DIR hardlink to files in DIR when unchanged\n");
-@@ -58
0,7 +582
,9 @@ static struct poptOption long_options[] = {
+@@ -58
1,7 +583
,9 @@ 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 },
{"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 },
@@
-79,7
+79,7
@@
diff --git a/options.c b/options.c
{"fuzzy", 'y', POPT_ARG_VAL, &fuzzy_basis, 1, 0, 0 },
{"no-fuzzy", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
{"no-y", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
{"fuzzy", 'y', POPT_ARG_VAL, &fuzzy_basis, 1, 0, 0 },
{"no-fuzzy", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
{"no-y", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
-@@ -196
4,8 +1968
,14 @@ void server_options(char **args, int *argc_p)
+@@ -196
5,8 +1969
,14 @@ void server_options(char **args, int *argc_p)
args[ac++] = "--super";
if (size_only)
args[ac++] = "--size-only";
args[ac++] = "--super";
if (size_only)
args[ac++] = "--size-only";
@@
-99,7
+99,7
@@
diff --git a/options.c b/options.c
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -3
86,6 +386
,8 @@ to the detailed description below for a complete description. verb(
+@@ -3
90,6 +390
,8 @@ to the detailed description below for a complete description. verb(
-T, --temp-dir=DIR create temporary files in directory DIR
-y, --fuzzy find similar file for basis if no dest file
--detect-renamed try to find renamed files to speed the xfer
-T, --temp-dir=DIR create temporary files in directory DIR
-y, --fuzzy find similar file for basis if no dest file
--detect-renamed try to find renamed files to speed the xfer
@@
-108,7
+108,7
@@
diff --git a/rsync.yo b/rsync.yo
--compare-dest=DIR also compare received files relative to DIR
--copy-dest=DIR ... and include copies of unchanged files
--link-dest=DIR hardlink to files in DIR when unchanged
--compare-dest=DIR also compare received files relative to DIR
--copy-dest=DIR ... and include copies of unchanged files
--link-dest=DIR hardlink to files in DIR when unchanged
-@@ -150
3,6 +1505
,17 @@ the bf(--partial-dir) option, that directory will be used instead. These
+@@ -150
7,6 +1509
,17 @@ the bf(--partial-dir) option, that directory will be used instead. These
potential alternate-basis files will be removed as the transfer progresses.
This option conflicts with bf(--inplace) and bf(--append).
potential alternate-basis files will be removed as the transfer progresses.
This option conflicts with bf(--inplace) and bf(--append).
diff --git
a/detect-renamed.diff
b/detect-renamed.diff
index
38ed46b
..
a8fa7e8
100644
(file)
--- a/
detect-renamed.diff
+++ b/
detect-renamed.diff
@@
-117,7
+117,7
@@
diff --git a/flist.c b/flist.c
static void send_directory(int f, struct file_list *flist,
char *fbuf, int len, int flags);
static void send_directory(int f, struct file_list *flist,
char *fbuf, int len, int flags);
-@@ -23
57,6 +2399
,25 @@ struct file_list *recv_file_list(int f)
+@@ -23
38,6 +2380
,25 @@ struct file_list *recv_file_list(int f)
flist_sort_and_clean(flist, relative_paths);
flist_sort_and_clean(flist, relative_paths);
@@
-413,7
+413,7
@@
diff --git a/generator.c b/generator.c
/* If an item in dirlist is not found in flist, delete it
* from the filesystem. */
for (i = dirlist->used; i--; ) {
/* If an item in dirlist is not found in flist, delete it
* from the filesystem. */
for (i = dirlist->used; i--; ) {
-@@ -521,
19 +660,28
@@ static void delete_in_dir(char *fbuf, struct file_struct *file, dev_t *fs_dev)
+@@ -521,
6 +660,10
@@ static void delete_in_dir(char *fbuf, struct file_struct *file, dev_t *fs_dev)
f_name(fp, NULL));
continue;
}
f_name(fp, NULL));
continue;
}
@@
-421,8
+421,10
@@
diff --git a/generator.c b/generator.c
+ strlcpy(p, fp->basename, remainder);
+ look_for_rename(fp, fbuf);
+ }
+ strlcpy(p, fp->basename, remainder);
+ look_for_rename(fp, fbuf);
+ }
- if (flist_find(cur_flist, fp) < 0) {
- int flags = DEL_RECURSE;
+ /* Here we want to match regardless of file type. Replacement
+ * of a file with one of another type is handled separately by
+ * a delete_item call with a DEL_MAKE_ROOM flag. */
+@@ -529,14 +672,19 @@ static void delete_in_dir(char *fbuf, struct file_struct *file, dev_t *fs_dev)
if (!(fp->mode & S_IWUSR) && !am_root && (uid_t)F_OWNER(fp) == our_uid)
flags |= DEL_NO_UID_WRITE;
f_name(fp, delbuf);
if (!(fp->mode & S_IWUSR) && !am_root && (uid_t)F_OWNER(fp) == our_uid)
flags |= DEL_NO_UID_WRITE;
f_name(fp, delbuf);
@@
-446,7
+448,7
@@
diff --git a/generator.c b/generator.c
flist_free(dirlist);
if (!save_uid_ndx) {
flist_free(dirlist);
if (!save_uid_ndx) {
-@@ -57
1,9 +719
,9 @@ static void do_delete_pass(void)
+@@ -57
4,9 +722
,9 @@ static void do_delete_pass(void)
|| !S_ISDIR(st.st_mode))
continue;
|| !S_ISDIR(st.st_mode))
continue;
@@
-458,7
+460,7
@@
diff --git a/generator.c b/generator.c
if (do_progress && !am_server)
rprintf(FINFO, " \r");
if (do_progress && !am_server)
rprintf(FINFO, " \r");
-@@ -122
6,6 +1374
,7 @@ static void list_file_entry(struct file_struct *f)
+@@ -122
9,6 +1377
,7 @@ static void list_file_entry(struct file_struct *f)
}
}
}
}
@@
-466,7
+468,7
@@
diff --git a/generator.c b/generator.c
static int phase = 0;
static int dflt_perms;
static int phase = 0;
static int dflt_perms;
-@@ -150
2,9 +1651
,12 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -150
5,9 +1654
,12 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
}
else if (delete_during && f_out != -1 && !phase
&& !(file->flags & FLAG_MISSING_DIR)) {
}
else if (delete_during && f_out != -1 && !phase
&& !(file->flags & FLAG_MISSING_DIR)) {
@@
-482,7
+484,7
@@
diff --git a/generator.c b/generator.c
change_local_filter_dir(fname, strlen(fname), F_DEPTH(file));
}
goto cleanup;
change_local_filter_dir(fname, strlen(fname), F_DEPTH(file));
}
goto cleanup;
-@@ -178
2,8 +1934
,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -178
5,8 +1937
,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
goto cleanup;
}
#endif
goto cleanup;
}
#endif
@@
-498,7
+500,7
@@
diff --git a/generator.c b/generator.c
rsyserr(FERROR_XFER, stat_errno, "recv_generator: failed to stat %s",
full_fname(fname));
goto cleanup;
rsyserr(FERROR_XFER, stat_errno, "recv_generator: failed to stat %s",
full_fname(fname));
goto cleanup;
-@@ -218
4,6 +2342
,12 @@ void generate_files(int f_out, const char *local_name)
+@@ -218
7,6 +2345
,12 @@ void generate_files(int f_out, const char *local_name)
if (verbose > 2)
rprintf(FINFO, "generator starting pid=%ld\n", (long)getpid());
if (verbose > 2)
rprintf(FINFO, "generator starting pid=%ld\n", (long)getpid());
@@
-511,7
+513,7
@@
diff --git a/generator.c b/generator.c
if (delete_before && !solo_file && cur_flist->used > 0)
do_delete_pass();
if (delete_during == 2) {
if (delete_before && !solo_file && cur_flist->used > 0)
do_delete_pass();
if (delete_during == 2) {
-@@ -219
4,7 +2358
,7 @@ void generate_files(int f_out, const char *local_name)
+@@ -219
7,7 +2361
,7 @@ void generate_files(int f_out, const char *local_name)
}
do_progress = 0;
}
do_progress = 0;
@@
-520,7
+522,7
@@
diff --git a/generator.c b/generator.c
whole_file = 0;
if (verbose >= 2) {
rprintf(FINFO, "delta-transmission %s\n",
whole_file = 0;
if (verbose >= 2) {
rprintf(FINFO, "delta-transmission %s\n",
-@@ -223
6,7 +2400
,7 @@ void generate_files(int f_out, const char *local_name)
+@@ -223
9,7 +2403
,7 @@ void generate_files(int f_out, const char *local_name)
dirdev = MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp));
} else
dirdev = MAKEDEV(0, 0);
dirdev = MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp));
} else
dirdev = MAKEDEV(0, 0);
@@
-529,7
+531,7
@@
diff --git a/generator.c b/generator.c
} else
change_local_filter_dir(fbuf, strlen(fbuf), F_DEPTH(fp));
}
} else
change_local_filter_dir(fbuf, strlen(fbuf), F_DEPTH(fp));
}
-@@ -228
6,7 +2450
,21 @@ void generate_files(int f_out, const char *local_name)
+@@ -228
9,7 +2453
,21 @@ void generate_files(int f_out, const char *local_name)
write_ndx(f_out, NDX_DONE);
if (delete_during)
write_ndx(f_out, NDX_DONE);
if (delete_during)
@@
-563,7
+565,7
@@
diff --git a/options.c b/options.c
int numeric_ids = 0;
int allow_8bit_chars = 0;
int force_delete = 0;
int numeric_ids = 0;
int allow_8bit_chars = 0;
int force_delete = 0;
-@@ -39
1,6 +392
,7 @@ void usage(enum logcode F)
+@@ -39
2,6 +393
,7 @@ void usage(enum logcode F)
rprintf(F," --modify-window=NUM compare mod-times with reduced accuracy\n");
rprintf(F," -T, --temp-dir=DIR create temporary files in directory DIR\n");
rprintf(F," -y, --fuzzy find similar file for basis if no dest file\n");
rprintf(F," --modify-window=NUM compare mod-times with reduced accuracy\n");
rprintf(F," -T, --temp-dir=DIR create temporary files in directory DIR\n");
rprintf(F," -y, --fuzzy find similar file for basis if no dest file\n");
@@
-571,7
+573,7
@@
diff --git a/options.c b/options.c
rprintf(F," --compare-dest=DIR also compare destination files relative to DIR\n");
rprintf(F," --copy-dest=DIR ... and include copies of unchanged files\n");
rprintf(F," --link-dest=DIR hardlink to files in DIR when unchanged\n");
rprintf(F," --compare-dest=DIR also compare destination files relative to DIR\n");
rprintf(F," --copy-dest=DIR ... and include copies of unchanged files\n");
rprintf(F," --link-dest=DIR hardlink to files in DIR when unchanged\n");
-@@ -57
8,6 +580
,7 @@ static struct poptOption long_options[] = {
+@@ -57
9,6 +581
,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 },
{"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 },
@@
-579,7
+581,7
@@
diff --git a/options.c b/options.c
{"fuzzy", 'y', POPT_ARG_VAL, &fuzzy_basis, 1, 0, 0 },
{"no-fuzzy", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
{"no-y", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
{"fuzzy", 'y', POPT_ARG_VAL, &fuzzy_basis, 1, 0, 0 },
{"no-fuzzy", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
{"no-y", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
-@@ -159
0,7 +1593
,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -159
1,7 +1594
,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
inplace = 1;
}
inplace = 1;
}
@@
-588,7
+590,7
@@
diff --git a/options.c b/options.c
partial_dir = tmp_partialdir;
if (inplace) {
partial_dir = tmp_partialdir;
if (inplace) {
-@@ -1
599,6 +1602
,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1
600,6 +1603
,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
snprintf(err_buf, sizeof err_buf,
"--%s cannot be used with --%s\n",
append_mode ? "append" : "inplace",
snprintf(err_buf, sizeof err_buf,
"--%s cannot be used with --%s\n",
append_mode ? "append" : "inplace",
@@
-596,7
+598,7
@@
diff --git a/options.c b/options.c
delay_updates ? "delay-updates" : "partial-dir");
return 0;
}
delay_updates ? "delay-updates" : "partial-dir");
return 0;
}
-@@ -196
0,6 +1964
,8 @@ void server_options(char **args, int *argc_p)
+@@ -196
1,6 +1965
,8 @@ void server_options(char **args, int *argc_p)
args[ac++] = "--super";
if (size_only)
args[ac++] = "--size-only";
args[ac++] = "--super";
if (size_only)
args[ac++] = "--size-only";
@@
-608,7
+610,7
@@
diff --git a/options.c b/options.c
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -38
5,6 +385
,7 @@ to the detailed description below for a complete description. verb(
+@@ -38
9,6 +389
,7 @@ to the detailed description below for a complete description. verb(
--modify-window=NUM compare mod-times with reduced accuracy
-T, --temp-dir=DIR create temporary files in directory DIR
-y, --fuzzy find similar file for basis if no dest file
--modify-window=NUM compare mod-times with reduced accuracy
-T, --temp-dir=DIR create temporary files in directory DIR
-y, --fuzzy find similar file for basis if no dest file
@@
-616,7
+618,7
@@
diff --git a/rsync.yo b/rsync.yo
--compare-dest=DIR also compare received files relative to DIR
--copy-dest=DIR ... and include copies of unchanged files
--link-dest=DIR hardlink to files in DIR when unchanged
--compare-dest=DIR also compare received files relative to DIR
--copy-dest=DIR ... and include copies of unchanged files
--link-dest=DIR hardlink to files in DIR when unchanged
-@@ -14
87,6 +1488
,21 @@ Note that the use of the bf(--delete) option might get rid of any potential
+@@ -14
91,6 +1492
,21 @@ Note that the use of the bf(--delete) option might get rid of any potential
fuzzy-match files, so either use bf(--delete-after) or specify some
filename exclusions if you need to prevent this.
fuzzy-match files, so either use bf(--delete-after) or specify some
filename exclusions if you need to prevent this.
@@
-641,7
+643,7
@@
diff --git a/rsync.yo b/rsync.yo
diff --git a/util.c b/util.c
--- a/util.c
+++ b/util.c
diff --git a/util.c b/util.c
--- a/util.c
+++ b/util.c
-@@ -11
57,6 +1157
,32 @@ int handle_partial_dir(const char *fname, int create)
+@@ -11
68,6 +1168
,32 @@ int handle_partial_dir(const char *fname, int create)
return 1;
}
return 1;
}
diff --git
a/downdate.diff
b/downdate.diff
index
92574f6
..
5e8ea06
100644
(file)
--- a/
downdate.diff
+++ b/
downdate.diff
@@
-18,7
+18,7
@@
diff --git a/generator.c b/generator.c
extern int ignore_existing;
extern int ignore_non_existing;
extern int inplace;
extern int ignore_existing;
extern int ignore_non_existing;
extern int inplace;
-@@ -172
3,6 +1724
,13 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -172
6,6 +1727
,13 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
goto cleanup;
}
goto cleanup;
}
@@
-32,7
+32,7
@@
diff --git a/generator.c b/generator.c
fnamecmp = fname;
fnamecmp_type = FNAMECMP_FNAME;
fnamecmp = fname;
fnamecmp_type = FNAMECMP_FNAME;
-@@ -209
4,6 +2102
,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo)
+@@ -209
7,6 +2105
,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo)
ignore_existing = -ignore_existing;
ignore_non_existing = -ignore_non_existing;
update_only = -update_only;
ignore_existing = -ignore_existing;
ignore_non_existing = -ignore_non_existing;
update_only = -update_only;
@@
-40,7
+40,7
@@
diff --git a/generator.c b/generator.c
always_checksum = -always_checksum;
size_only = -size_only;
append_mode = -append_mode;
always_checksum = -always_checksum;
size_only = -size_only;
append_mode = -append_mode;
-@@ -21
19,6 +2128
,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo)
+@@ -21
22,6 +2131
,7 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo)
ignore_existing = -ignore_existing;
ignore_non_existing = -ignore_non_existing;
update_only = -update_only;
ignore_existing = -ignore_existing;
ignore_non_existing = -ignore_non_existing;
update_only = -update_only;
@@
-59,7
+59,7
@@
diff --git a/options.c b/options.c
int cvs_exclude = 0;
int dry_run = 0;
int do_xfers = 1;
int cvs_exclude = 0;
int dry_run = 0;
int do_xfers = 1;
-@@ -32
6,6 +327
,7 @@ void usage(enum logcode F)
+@@ -32
7,6 +328
,7 @@ void usage(enum logcode F)
rprintf(F," --backup-dir=DIR make backups into hierarchy based in DIR\n");
rprintf(F," --suffix=SUFFIX set backup suffix (default %s w/o --backup-dir)\n",BACKUP_SUFFIX);
rprintf(F," -u, --update skip files that are newer on the receiver\n");
rprintf(F," --backup-dir=DIR make backups into hierarchy based in DIR\n");
rprintf(F," --suffix=SUFFIX set backup suffix (default %s w/o --backup-dir)\n",BACKUP_SUFFIX);
rprintf(F," -u, --update skip files that are newer on the receiver\n");
@@
-67,7
+67,7
@@
diff --git a/options.c b/options.c
rprintf(F," --inplace update destination files in-place (SEE MAN PAGE)\n");
rprintf(F," --append append data onto shorter files\n");
rprintf(F," --append-verify like --append, but with old data in file checksum\n");
rprintf(F," --inplace update destination files in-place (SEE MAN PAGE)\n");
rprintf(F," --append append data onto shorter files\n");
rprintf(F," --append-verify like --append, but with old data in file checksum\n");
-@@ -53
4,6 +536
,7 @@ static struct poptOption long_options[] = {
+@@ -53
5,6 +537
,7 @@ static struct poptOption long_options[] = {
{"no-one-file-system",'x',POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
{"no-x", 'x', POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
{"update", 'u', POPT_ARG_NONE, &update_only, 0, 0, 0 },
{"no-one-file-system",'x',POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
{"no-x", 'x', POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
{"update", 'u', POPT_ARG_NONE, &update_only, 0, 0, 0 },
diff --git
a/dparam.diff
b/dparam.diff
index
07ad97d
..
95f920f
100644
(file)
--- a/
dparam.diff
+++ b/
dparam.diff
@@
-10,7
+10,7
@@
To use this patch, run these commands for a successful build:
diff --git a/clientserver.c b/clientserver.c
--- a/clientserver.c
+++ b/clientserver.c
diff --git a/clientserver.c b/clientserver.c
--- a/clientserver.c
+++ b/clientserver.c
-@@ -104
1,6 +1041
,7 @@ int daemon_main(void)
+@@ -104
5,6 +1045
,7 @@ int daemon_main(void)
fprintf(stderr, "Failed to parse config file: %s\n", config_file);
exit_cleanup(RERR_SYNTAX);
}
fprintf(stderr, "Failed to parse config file: %s\n", config_file);
exit_cleanup(RERR_SYNTAX);
}
@@
-85,7
+85,7
@@
diff --git a/options.c b/options.c
/** Network address family. **/
int default_af_hint
/** Network address family. **/
int default_af_hint
-@@ -65
2,6 +653
,7 @@ static struct poptOption long_options[] = {
+@@ -65
3,6 +654
,7 @@ static struct poptOption long_options[] = {
/* All the following options switch us into daemon-mode option-parsing. */
{"config", 0, POPT_ARG_STRING, 0, OPT_DAEMON, 0, 0 },
{"daemon", 0, POPT_ARG_NONE, 0, OPT_DAEMON, 0, 0 },
/* All the following options switch us into daemon-mode option-parsing. */
{"config", 0, POPT_ARG_STRING, 0, OPT_DAEMON, 0, 0 },
{"daemon", 0, POPT_ARG_NONE, 0, OPT_DAEMON, 0, 0 },
@@
-93,7
+93,7
@@
diff --git a/options.c b/options.c
{"detach", 0, POPT_ARG_NONE, 0, OPT_DAEMON, 0, 0 },
{"no-detach", 0, POPT_ARG_NONE, 0, OPT_DAEMON, 0, 0 },
{0,0,0,0, 0, 0, 0}
{"detach", 0, POPT_ARG_NONE, 0, OPT_DAEMON, 0, 0 },
{"no-detach", 0, POPT_ARG_NONE, 0, OPT_DAEMON, 0, 0 },
{0,0,0,0, 0, 0, 0}
-@@ -66
6,6 +668
,7 @@ static void daemon_usage(enum logcode F)
+@@ -66
7,6 +669
,7 @@ static void daemon_usage(enum logcode F)
rprintf(F," --address=ADDRESS bind to the specified address\n");
rprintf(F," --bwlimit=KBPS limit I/O bandwidth; KBytes per second\n");
rprintf(F," --config=FILE specify alternate rsyncd.conf file\n");
rprintf(F," --address=ADDRESS bind to the specified address\n");
rprintf(F," --bwlimit=KBPS limit I/O bandwidth; KBytes per second\n");
rprintf(F," --config=FILE specify alternate rsyncd.conf file\n");
@@
-101,7
+101,7
@@
diff --git a/options.c b/options.c
rprintf(F," --no-detach do not detach from the parent\n");
rprintf(F," --port=PORT listen on alternate port number\n");
rprintf(F," --log-file=FILE override the \"log file\" setting\n");
rprintf(F," --no-detach do not detach from the parent\n");
rprintf(F," --port=PORT listen on alternate port number\n");
rprintf(F," --log-file=FILE override the \"log file\" setting\n");
-@@ -68
7,6 +690
,7 @@ static struct poptOption long_daemon_options[] = {
+@@ -68
8,6 +691
,7 @@ static struct poptOption long_daemon_options[] = {
{"bwlimit", 0, POPT_ARG_INT, &daemon_bwlimit, 0, 0, 0 },
{"config", 0, POPT_ARG_STRING, &config_file, 0, 0, 0 },
{"daemon", 0, POPT_ARG_NONE, &daemon_opt, 0, 0, 0 },
{"bwlimit", 0, POPT_ARG_INT, &daemon_bwlimit, 0, 0, 0 },
{"config", 0, POPT_ARG_STRING, &config_file, 0, 0, 0 },
{"daemon", 0, POPT_ARG_NONE, &daemon_opt, 0, 0, 0 },
@@
-109,7
+109,7
@@
diff --git a/options.c b/options.c
{"ipv4", '4', POPT_ARG_VAL, &default_af_hint, AF_INET, 0, 0 },
{"ipv6", '6', POPT_ARG_VAL, &default_af_hint, AF_INET6, 0, 0 },
{"detach", 0, POPT_ARG_VAL, &no_detach, 0, 0, 0 },
{"ipv4", '4', POPT_ARG_VAL, &default_af_hint, AF_INET, 0, 0 },
{"ipv6", '6', POPT_ARG_VAL, &default_af_hint, AF_INET6, 0, 0 },
{"detach", 0, POPT_ARG_VAL, &no_detach, 0, 0, 0 },
-@@ -97
0,11 +974
,24 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -97
1,11 +975
,24 @@ int parse_arguments(int *argc_p, const char ***argv_p)
pc = poptGetContext(RSYNC_NAME, argc, argv,
long_daemon_options, 0);
while ((opt = poptGetNextOpt(pc)) != -1) {
pc = poptGetContext(RSYNC_NAME, argc, argv,
long_daemon_options, 0);
while ((opt = poptGetNextOpt(pc)) != -1) {
@@
-134,7
+134,7
@@
diff --git a/options.c b/options.c
case 'v':
verbose++;
break;
case 'v':
verbose++;
break;
-@@ -98
8,6 +1005
,9 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -98
9,6 +1006
,9 @@ int parse_arguments(int *argc_p, const char ***argv_p)
}
}
}
}
@@
-147,7
+147,7
@@
diff --git a/options.c b/options.c
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -43
5,6 +435
,7 @@ accepted: verb(
+@@ -43
9,6 +439
,7 @@ accepted: verb(
--address=ADDRESS bind to the specified address
--bwlimit=KBPS limit I/O bandwidth; KBytes per second
--config=FILE specify alternate rsyncd.conf file
--address=ADDRESS bind to the specified address
--bwlimit=KBPS limit I/O bandwidth; KBytes per second
--config=FILE specify alternate rsyncd.conf file
@@
-155,7
+155,7
@@
diff --git a/rsync.yo b/rsync.yo
--no-detach do not detach from the parent
--port=PORT listen on alternate port number
--log-file=FILE override the "log file" setting
--no-detach do not detach from the parent
--port=PORT listen on alternate port number
--log-file=FILE override the "log file" setting
-@@ -214
3,6 +2144
,14 @@ The default is /etc/rsyncd.conf unless the daemon is running over
+@@ -214
7,6 +2148
,14 @@ The default is /etc/rsyncd.conf unless the daemon is running over
a remote shell program and the remote user is not the super-user; in that case
the default is rsyncd.conf in the current directory (typically $HOME).
a remote shell program and the remote user is not the super-user; in that case
the default is rsyncd.conf in the current directory (typically $HOME).
diff --git
a/drop-cache.diff
b/drop-cache.diff
index
82d01ff
..
fcb15a9
100644
(file)
--- a/
drop-cache.diff
+++ b/
drop-cache.diff
@@
-111,7
+111,7
@@
diff --git a/fileio.c b/fileio.c
+++ b/fileio.c
@@ -30,6 +30,12 @@ extern int sparse_files;
static char last_byte;
+++ b/fileio.c
@@ -30,6 +30,12 @@ extern int sparse_files;
static char last_byte;
- static
size_t
sparse_seek = 0;
+ static
OFF_T
sparse_seek = 0;
+#ifdef HAVE_POSIX_FADVISE64
+#define close(fd) fadv_close(fd)
+#ifdef HAVE_POSIX_FADVISE64
+#define close(fd) fadv_close(fd)
@@
-147,7
+147,7
@@
diff --git a/options.c b/options.c
int cvs_exclude = 0;
int dry_run = 0;
int do_xfers = 1;
int cvs_exclude = 0;
int dry_run = 0;
int do_xfers = 1;
-@@ -32
6,6 +327
,9 @@ void usage(enum logcode F)
+@@ -32
7,6 +328
,9 @@ void usage(enum logcode F)
rprintf(F," --backup-dir=DIR make backups into hierarchy based in DIR\n");
rprintf(F," --suffix=SUFFIX set backup suffix (default %s w/o --backup-dir)\n",BACKUP_SUFFIX);
rprintf(F," -u, --update skip files that are newer on the receiver\n");
rprintf(F," --backup-dir=DIR make backups into hierarchy based in DIR\n");
rprintf(F," --suffix=SUFFIX set backup suffix (default %s w/o --backup-dir)\n",BACKUP_SUFFIX);
rprintf(F," -u, --update skip files that are newer on the receiver\n");
@@
-157,7
+157,7
@@
diff --git a/options.c b/options.c
rprintf(F," --inplace update destination files in-place (SEE MAN PAGE)\n");
rprintf(F," --append append data onto shorter files\n");
rprintf(F," --append-verify like --append, but with old data in file checksum\n");
rprintf(F," --inplace update destination files in-place (SEE MAN PAGE)\n");
rprintf(F," --append append data onto shorter files\n");
rprintf(F," --append-verify like --append, but with old data in file checksum\n");
-@@ -53
4,6 +538
,9 @@ static struct poptOption long_options[] = {
+@@ -53
5,6 +539
,9 @@ static struct poptOption long_options[] = {
{"no-one-file-system",'x',POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
{"no-x", 'x', POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
{"update", 'u', POPT_ARG_NONE, &update_only, 0, 0, 0 },
{"no-one-file-system",'x',POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
{"no-x", 'x', POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
{"update", 'u', POPT_ARG_NONE, &update_only, 0, 0, 0 },
@@
-167,7
+167,7
@@
diff --git a/options.c b/options.c
{"existing", 0, POPT_ARG_NONE, &ignore_non_existing, 0, 0, 0 },
{"ignore-non-existing",0,POPT_ARG_NONE, &ignore_non_existing, 0, 0, 0 },
{"ignore-existing", 0, POPT_ARG_NONE, &ignore_existing, 0, 0, 0 },
{"existing", 0, POPT_ARG_NONE, &ignore_non_existing, 0, 0, 0 },
{"ignore-non-existing",0,POPT_ARG_NONE, &ignore_non_existing, 0, 0, 0 },
{"ignore-existing", 0, POPT_ARG_NONE, &ignore_existing, 0, 0, 0 },
-@@ -17
19,6 +1726
,11 @@ void server_options(char **args, int *argc_p)
+@@ -17
20,6 +1727
,11 @@ void server_options(char **args, int *argc_p)
if (!am_sender)
args[ac++] = "--sender";
if (!am_sender)
args[ac++] = "--sender";
@@
-196,7
+196,7
@@
diff --git a/receiver.c b/receiver.c
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -35
2,6 +352
,7 @@ to the detailed description below for a complete description. verb(
+@@ -35
6,6 +356
,7 @@ to the detailed description below for a complete description. verb(
--super receiver attempts super-user activities
--fake-super store/recover privileged attrs using xattrs
-S, --sparse handle sparse files efficiently
--super receiver attempts super-user activities
--fake-super store/recover privileged attrs using xattrs
-S, --sparse handle sparse files efficiently
@@
-204,7
+204,7
@@
diff --git a/rsync.yo b/rsync.yo
-n, --dry-run perform a trial run with no changes made
-W, --whole-file copy files whole (w/o delta-xfer algorithm)
-x, --one-file-system don't cross filesystem boundaries
-n, --dry-run perform a trial run with no changes made
-W, --whole-file copy files whole (w/o delta-xfer algorithm)
-x, --one-file-system don't cross filesystem boundaries
-@@ -10
49,6 +1050
,10 @@ NOTE: Don't use this option when the destination is a Solaris "tmpfs"
+@@ -10
53,6 +1054
,10 @@ NOTE: Don't use this option when the destination is a Solaris "tmpfs"
filesystem. It doesn't seem to handle seeks over null regions
correctly and ends up corrupting the files.
filesystem. It doesn't seem to handle seeks over null regions
correctly and ends up corrupting the files.
diff --git
a/fileflags.diff
b/fileflags.diff
index
6ba3e57
..
97f30e3
100644
(file)
--- a/
fileflags.diff
+++ b/
fileflags.diff
@@
-164,7
+164,7
@@
diff --git a/flist.c b/flist.c
if (uid_ndx) /* Check uid_ndx instead of preserve_uid for del support */
F_OWNER(file) = st.st_uid;
if (gid_ndx) /* Check gid_ndx instead of preserve_gid for del support */
if (uid_ndx) /* Check uid_ndx instead of preserve_uid for del support */
F_OWNER(file) = st.st_uid;
if (gid_ndx) /* Check gid_ndx instead of preserve_gid for del support */
-@@ -14
27,6 +1458
,7 @@ static struct file_struct *send_file_name(int f, struct file_list *flist,
+@@ -14
08,6 +1439
,7 @@ static struct file_struct *send_file_name(int f, struct file_list *flist,
#endif
#ifdef SUPPORT_XATTRS
if (preserve_xattrs) {
#endif
#ifdef SUPPORT_XATTRS
if (preserve_xattrs) {
@@
-223,7
+223,7
@@
diff --git a/generator.c b/generator.c
/* Save stack by recursing to ourself directly. */
if (S_ISDIR(fp->mode)) {
if (delete_dir_contents(fname, flags | DEL_RECURSE) != DR_SUCCESS)
/* Save stack by recursing to ourself directly. */
if (S_ISDIR(fp->mode)) {
if (delete_dir_contents(fname, flags | DEL_RECURSE) != DR_SUCCESS)
-@@ -59
6,6 +609
,11 @@ int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp)
+@@ -59
9,6 +612
,11 @@ int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp)
&& ((sxp->st.st_mode & 0111 ? 1 : 0) ^ (file->mode & 0111 ? 1 : 0)))
return 0;
&& ((sxp->st.st_mode & 0111 ? 1 : 0) ^ (file->mode & 0111 ? 1 : 0)))
return 0;
@@
-235,7
+235,7
@@
diff --git a/generator.c b/generator.c
if (am_root && uid_ndx && sxp->st.st_uid != (uid_t)F_OWNER(file))
return 0;
if (am_root && uid_ndx && sxp->st.st_uid != (uid_t)F_OWNER(file))
return 0;
-@@ -66
1,6 +679
,11 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -66
4,6 +682
,11 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
if (gid_ndx && !(file->flags & FLAG_SKIP_GROUP)
&& sxp->st.st_gid != (gid_t)F_GROUP(file))
iflags |= ITEM_REPORT_GROUP;
if (gid_ndx && !(file->flags & FLAG_SKIP_GROUP)
&& sxp->st.st_gid != (gid_t)F_GROUP(file))
iflags |= ITEM_REPORT_GROUP;
@@
-247,7
+247,7
@@
diff --git a/generator.c b/generator.c
#ifdef SUPPORT_ACLS
if (preserve_acls && !S_ISLNK(file->mode)) {
if (!ACL_READY(*sxp))
#ifdef SUPPORT_ACLS
if (preserve_acls && !S_ISLNK(file->mode)) {
if (!ACL_READY(*sxp))
-@@ -14
39,6 +1462
,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -14
42,6 +1465
,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
file->mode = dest_mode(file->mode, sx.st.st_mode,
dflt_perms, statret == 0);
}
file->mode = dest_mode(file->mode, sx.st.st_mode,
dflt_perms, statret == 0);
}
@@
-258,7
+258,7
@@
diff --git a/generator.c b/generator.c
if (statret != 0 && basis_dir[0] != NULL) {
int j = try_dests_non(file, fname, ndx, fnamecmpbuf, &sx,
itemizing, code);
if (statret != 0 && basis_dir[0] != NULL) {
int j = try_dests_non(file, fname, ndx, fnamecmpbuf, &sx,
itemizing, code);
-@@ -14
79,10 +1506
,15 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -14
82,10 +1509
,15 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
/* We need to ensure that the dirs in the transfer have writable
* permissions during the time we are putting files within them.
* This is then fixed after the transfer is done. */
/* We need to ensure that the dirs in the transfer have writable
* permissions during the time we are putting files within them.
* This is then fixed after the transfer is done. */
@@
-275,7
+275,7
@@
diff --git a/generator.c b/generator.c
rsyserr(FERROR_XFER, errno,
"failed to modify permissions on %s",
full_fname(fname));
rsyserr(FERROR_XFER, errno,
"failed to modify permissions on %s",
full_fname(fname));
-@@ -15
17,6 +1549
,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -15
20,6 +1552
,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
file->mode = dest_mode(file->mode, sx.st.st_mode, dflt_perms,
exists);
}
file->mode = dest_mode(file->mode, sx.st.st_mode, dflt_perms,
exists);
}
@@
-286,7
+286,7
@@
diff --git a/generator.c b/generator.c
#ifdef SUPPORT_HARD_LINKS
if (preserve_hard_links && F_HLINK_NOT_FIRST(file)
#ifdef SUPPORT_HARD_LINKS
if (preserve_hard_links && F_HLINK_NOT_FIRST(file)
-@@ -205
1,13 +2087
,17 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
+@@ -205
4,13 +2090
,17 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
continue;
fname = f_name(file, NULL);
if (!(file->mode & S_IWUSR))
continue;
fname = f_name(file, NULL);
if (!(file->mode & S_IWUSR))
@@
-345,7
+345,7
@@
diff --git a/options.c b/options.c
STRUCT_STAT *dumstat;
#if SUBPROTOCOL_VERSION != 0
STRUCT_STAT *dumstat;
#if SUBPROTOCOL_VERSION != 0
-@@ -25
7,6 +260
,9 @@ static void print_rsync_version(enum logcode f)
+@@ -25
8,6 +261
,9 @@ static void print_rsync_version(enum logcode f)
#if defined HAVE_LUTIMES && defined HAVE_UTIMES
symtimes = "";
#endif
#if defined HAVE_LUTIMES && defined HAVE_UTIMES
symtimes = "";
#endif
@@
-355,7
+355,7
@@
diff --git a/options.c b/options.c
rprintf(f, "%s version %s protocol version %d%s\n",
RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
rprintf(f, "%s version %s protocol version %d%s\n",
RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
-@@ -27
0,8 +276
,8 @@ static void print_rsync_version(enum logcode f)
+@@ -27
1,8 +277
,8 @@ static void print_rsync_version(enum logcode f)
(int)(sizeof (int64) * 8));
rprintf(f, " %ssocketpairs, %shardlinks, %ssymlinks, %sIPv6, batchfiles, %sinplace,\n",
got_socketpair, hardlinks, links, ipv6, have_inplace);
(int)(sizeof (int64) * 8));
rprintf(f, " %ssocketpairs, %shardlinks, %ssymlinks, %sIPv6, batchfiles, %sinplace,\n",
got_socketpair, hardlinks, links, ipv6, have_inplace);
@@
-366,7
+366,7
@@
diff --git a/options.c b/options.c
#ifdef MAINTAINER_MODE
rprintf(f, "Panic Action: \"%s\"\n", get_panic_action());
#ifdef MAINTAINER_MODE
rprintf(f, "Panic Action: \"%s\"\n", get_panic_action());
-@@ -33
8,6 +344
,9 @@ void usage(enum logcode F)
+@@ -33
9,6 +345
,9 @@ void usage(enum logcode F)
rprintf(F," -K, --keep-dirlinks treat symlinked dir on receiver as dir\n");
rprintf(F," -H, --hard-links preserve hard links\n");
rprintf(F," -p, --perms preserve permissions\n");
rprintf(F," -K, --keep-dirlinks treat symlinked dir on receiver as dir\n");
rprintf(F," -H, --hard-links preserve hard links\n");
rprintf(F," -p, --perms preserve permissions\n");
@@
-376,7
+376,7
@@
diff --git a/options.c b/options.c
rprintf(F," -E, --executability preserve the file's executability\n");
rprintf(F," --chmod=CHMOD affect file and/or directory permissions\n");
#ifdef SUPPORT_ACLS
rprintf(F," -E, --executability preserve the file's executability\n");
rprintf(F," --chmod=CHMOD affect file and/or directory permissions\n");
#ifdef SUPPORT_ACLS
-@@ -37
5,7 +384
,12 @@ void usage(enum logcode F)
+@@ -37
6,7 +385
,12 @@ void usage(enum logcode F)
rprintf(F," --delete-after receiver deletes after transfer, not during\n");
rprintf(F," --delete-excluded also delete excluded files from destination dirs\n");
rprintf(F," --ignore-errors delete even if there are I/O errors\n");
rprintf(F," --delete-after receiver deletes after transfer, not during\n");
rprintf(F," --delete-excluded also delete excluded files from destination dirs\n");
rprintf(F," --ignore-errors delete even if there are I/O errors\n");
@@
-390,7
+390,7
@@
diff --git a/options.c b/options.c
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");
rprintf(F," --min-size=SIZE don't transfer any file smaller than SIZE\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");
rprintf(F," --min-size=SIZE don't transfer any file smaller than SIZE\n");
-@@ -48
0,6 +494
,10 @@ static struct poptOption long_options[] = {
+@@ -48
1,6 +495
,10 @@ static struct poptOption long_options[] = {
{"perms", 'p', POPT_ARG_VAL, &preserve_perms, 1, 0, 0 },
{"no-perms", 0, POPT_ARG_VAL, &preserve_perms, 0, 0, 0 },
{"no-p", 0, POPT_ARG_VAL, &preserve_perms, 0, 0, 0 },
{"perms", 'p', POPT_ARG_VAL, &preserve_perms, 1, 0, 0 },
{"no-perms", 0, POPT_ARG_VAL, &preserve_perms, 0, 0, 0 },
{"no-p", 0, POPT_ARG_VAL, &preserve_perms, 0, 0, 0 },
@@
-401,7
+401,7
@@
diff --git a/options.c b/options.c
{"executability", 'E', POPT_ARG_NONE, &preserve_executability, 0, 0, 0 },
{"acls", 'A', POPT_ARG_NONE, 0, 'A', 0, 0 },
{"no-acls", 0, POPT_ARG_VAL, &preserve_acls, 0, 0, 0 },
{"executability", 'E', POPT_ARG_NONE, &preserve_executability, 0, 0, 0 },
{"acls", 'A', POPT_ARG_NONE, 0, 'A', 0, 0 },
{"no-acls", 0, POPT_ARG_VAL, &preserve_acls, 0, 0, 0 },
-@@ -55
8,6 +576
,14 @@ static struct poptOption long_options[] = {
+@@ -55
9,6 +577
,14 @@ static struct poptOption long_options[] = {
{"remove-source-files",0,POPT_ARG_VAL, &remove_source_files, 1, 0, 0 },
{"force", 0, POPT_ARG_VAL, &force_delete, 1, 0, 0 },
{"no-force", 0, POPT_ARG_VAL, &force_delete, 0, 0, 0 },
{"remove-source-files",0,POPT_ARG_VAL, &remove_source_files, 1, 0, 0 },
{"force", 0, POPT_ARG_VAL, &force_delete, 1, 0, 0 },
{"no-force", 0, POPT_ARG_VAL, &force_delete, 0, 0, 0 },
@@
-416,7
+416,7
@@
diff --git a/options.c b/options.c
{"ignore-errors", 0, POPT_ARG_VAL, &ignore_errors, 1, 0, 0 },
{"no-ignore-errors", 0, POPT_ARG_VAL, &ignore_errors, 0, 0, 0 },
{"max-delete", 0, POPT_ARG_INT, &max_delete, 0, 0, 0 },
{"ignore-errors", 0, POPT_ARG_VAL, &ignore_errors, 1, 0, 0 },
{"no-ignore-errors", 0, POPT_ARG_VAL, &ignore_errors, 0, 0, 0 },
{"max-delete", 0, POPT_ARG_INT, &max_delete, 0, 0, 0 },
-@@ -186
7,6 +1893
,9 @@ void server_options(char **args, int *argc_p)
+@@ -186
8,6 +1894
,9 @@ void server_options(char **args, int *argc_p)
if (xfer_dirs && !recurse && delete_mode && am_sender)
args[ac++] = "--no-r";
if (xfer_dirs && !recurse && delete_mode && am_sender)
args[ac++] = "--no-r";
@@
-426,7
+426,7
@@
diff --git a/options.c b/options.c
if (do_compression && def_compress_level != Z_DEFAULT_COMPRESSION) {
if (asprintf(&arg, "--compress-level=%d", def_compress_level) < 0)
goto oom;
if (do_compression && def_compress_level != Z_DEFAULT_COMPRESSION) {
if (asprintf(&arg, "--compress-level=%d", def_compress_level) < 0)
goto oom;
-@@ -195
4,6 +1983
,16 @@ void server_options(char **args, int *argc_p)
+@@ -195
5,6 +1984
,16 @@ void server_options(char **args, int *argc_p)
args[ac++] = "--delete-excluded";
if (force_delete)
args[ac++] = "--force";
args[ac++] = "--delete-excluded";
if (force_delete)
args[ac++] = "--force";
@@
-642,7
+642,7
@@
diff --git a/rsync.h b/rsync.h
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -3
38,6 +338
,7 @@ to the detailed description below for a complete description. verb(
+@@ -3
42,6 +342
,7 @@ to the detailed description below for a complete description. verb(
-K, --keep-dirlinks treat symlinked dir on receiver as dir
-H, --hard-links preserve hard links
-p, --perms preserve permissions
-K, --keep-dirlinks treat symlinked dir on receiver as dir
-H, --hard-links preserve hard links
-p, --perms preserve permissions
@@
-650,7
+650,7
@@
diff --git a/rsync.yo b/rsync.yo
-E, --executability preserve executability
--chmod=CHMOD affect file and/or directory permissions
-A, --acls preserve ACLs (implies -p)
-E, --executability preserve executability
--chmod=CHMOD affect file and/or directory permissions
-A, --acls preserve ACLs (implies -p)
-@@ -3
69,7 +370
,10 @@ to the detailed description below for a complete description. verb(
+@@ -3
73,7 +374
,10 @@ to the detailed description below for a complete description. verb(
--delete-after receiver deletes after transfer, not before
--delete-excluded also delete excluded files from dest dirs
--ignore-errors delete even if there are I/O errors
--delete-after receiver deletes after transfer, not before
--delete-excluded also delete excluded files from dest dirs
--ignore-errors delete even if there are I/O errors
@@
-662,7
+662,7
@@
diff --git a/rsync.yo b/rsync.yo
--max-delete=NUM don't delete more than NUM files
--max-size=SIZE don't transfer any file larger than SIZE
--min-size=SIZE don't transfer any file smaller than SIZE
--max-delete=NUM don't delete more than NUM files
--max-size=SIZE don't transfer any file larger than SIZE
--min-size=SIZE don't transfer any file smaller than SIZE
-@@ -54
0,7 +544
,8 @@ specified, in which case bf(-r) is not implied.
+@@ -54
4,7 +548
,8 @@ specified, in which case bf(-r) is not implied.
Note that bf(-a) bf(does not preserve hardlinks), because
finding multiply-linked files is expensive. You must separately
Note that bf(-a) bf(does not preserve hardlinks), because
finding multiply-linked files is expensive. You must separately
@@
-672,7
+672,7
@@
diff --git a/rsync.yo b/rsync.yo
dit(--no-OPTION) You may turn off one or more implied options by prefixing
the option name with "no-". Not all options may be prefixed with a "no-":
dit(--no-OPTION) You may turn off one or more implied options by prefixing
the option name with "no-". Not all options may be prefixed with a "no-":
-@@ -
798,7 +803
,7 @@ they would be using bf(--copy-links).
+@@ -
802,7 +807
,7 @@ they would be using bf(--copy-links).
Without this option, if the sending side has replaced a directory with a
symlink to a directory, the receiving side will delete anything that is in
the way of the new symlink, including a directory hierarchy (as long as
Without this option, if the sending side has replaced a directory with a
symlink to a directory, the receiving side will delete anything that is in
the way of the new symlink, including a directory hierarchy (as long as
@@
-681,7
+681,7
@@
diff --git a/rsync.yo b/rsync.yo
See also bf(--keep-dirlinks) for an analogous option for the receiving
side.
See also bf(--keep-dirlinks) for an analogous option for the receiving
side.
-@@ -93
5,6 +940
,29 @@ super-user copies all namespaces except system.*. A normal user only copies
+@@ -93
9,6 +944
,29 @@ super-user copies all namespaces except system.*. A normal user only copies
the user.* namespace. To be able to backup and restore non-user namespaces as
a normal user, see the bf(--fake-super) option.
the user.* namespace. To be able to backup and restore non-user namespaces as
a normal user, see the bf(--fake-super) option.
@@
-711,7
+711,7
@@
diff --git a/rsync.yo b/rsync.yo
dit(bf(--chmod)) This option tells rsync to apply one or more
comma-separated "chmod" strings to the permission of the files in the
transfer. The resulting value is treated as though it was the permissions
dit(bf(--chmod)) This option tells rsync to apply one or more
comma-separated "chmod" strings to the permission of the files in the
transfer. The resulting value is treated as though it was the permissions
-@@ -1
197,12 +1225
,13 @@ See bf(--delete) (which is implied) for more details on file-deletion.
+@@ -1
201,12 +1229
,13 @@ See bf(--delete) (which is implied) for more details on file-deletion.
dit(bf(--ignore-errors)) Tells bf(--delete) to go ahead and delete files
even when there are I/O errors.
dit(bf(--ignore-errors)) Tells bf(--delete) to go ahead and delete files
even when there are I/O errors.
@@
-728,7
+728,7
@@
diff --git a/rsync.yo b/rsync.yo
bf(--recursive) option was also enabled.
dit(bf(--max-delete=NUM)) This tells rsync not to delete more than NUM
bf(--recursive) option was also enabled.
dit(bf(--max-delete=NUM)) This tells rsync not to delete more than NUM
-@@ -166
3,7 +1692
,7 @@ with older versions of rsync, but that also turns on the output of other
+@@ -166
7,7 +1696
,7 @@ with older versions of rsync, but that also turns on the output of other
verbose messages).
The "%i" escape has a cryptic output that is 11 letters long. The general
verbose messages).
The "%i" escape has a cryptic output that is 11 letters long. The general
@@
-737,7
+737,7
@@
diff --git a/rsync.yo b/rsync.yo
type of update being done, bf(X) is replaced by the file-type, and the
other letters represent attributes that may be output if they are being
modified.
type of update being done, bf(X) is replaced by the file-type, and the
other letters represent attributes that may be output if they are being
modified.
-@@ -17
19,7 +1748
,7 @@ quote(itemization(
+@@ -17
23,7 +1752
,7 @@ quote(itemization(
sender's value (requires bf(--owner) and super-user privileges).
it() A bf(g) means the group is different and is being updated to the
sender's value (requires bf(--group) and the authority to set the group).
sender's value (requires bf(--owner) and super-user privileges).
it() A bf(g) means the group is different and is being updated to the
sender's value (requires bf(--group) and the authority to set the group).
diff --git
a/fsync.diff
b/fsync.diff
index
abff7e7
..
1cfee20
100644
(file)
--- a/
fsync.diff
+++ b/
fsync.diff
@@
-18,7
+18,7
@@
diff --git a/options.c b/options.c
int preserve_links = 0;
int preserve_hard_links = 0;
int preserve_acls = 0;
int preserve_links = 0;
int preserve_hard_links = 0;
int preserve_acls = 0;
-@@ -38
3,6 +384
,7 @@ void usage(enum logcode F)
+@@ -38
4,6 +385
,7 @@ void usage(enum logcode F)
rprintf(F," --partial-dir=DIR put a partially transferred file into DIR\n");
rprintf(F," --delay-updates put all updated files into place at transfer's end\n");
rprintf(F," -m, --prune-empty-dirs prune empty directory chains from the file-list\n");
rprintf(F," --partial-dir=DIR put a partially transferred file into DIR\n");
rprintf(F," --delay-updates put all updated files into place at transfer's end\n");
rprintf(F," -m, --prune-empty-dirs prune empty directory chains from the file-list\n");
@@
-26,7
+26,7
@@
diff --git a/options.c b/options.c
rprintf(F," --numeric-ids don't map uid/gid values by user/group name\n");
rprintf(F," --timeout=SECONDS set I/O timeout in seconds\n");
rprintf(F," --contimeout=SECONDS set daemon connection timeout in seconds\n");
rprintf(F," --numeric-ids don't map uid/gid values by user/group name\n");
rprintf(F," --timeout=SECONDS set I/O timeout in seconds\n");
rprintf(F," --contimeout=SECONDS set daemon connection timeout in seconds\n");
-@@ -62
6,6 +628
,7 @@ static struct poptOption long_options[] = {
+@@ -62
7,6 +629
,7 @@ static struct poptOption long_options[] = {
{"no-timeout", 0, POPT_ARG_VAL, &io_timeout, 0, 0, 0 },
{"contimeout", 0, POPT_ARG_INT, &connect_timeout, 0, 0, 0 },
{"no-contimeout", 0, POPT_ARG_VAL, &connect_timeout, 0, 0, 0 },
{"no-timeout", 0, POPT_ARG_VAL, &io_timeout, 0, 0, 0 },
{"contimeout", 0, POPT_ARG_INT, &connect_timeout, 0, 0, 0 },
{"no-contimeout", 0, POPT_ARG_VAL, &connect_timeout, 0, 0, 0 },
@@
-34,7
+34,7
@@
diff --git a/options.c b/options.c
{"rsh", 'e', POPT_ARG_STRING, &shell_cmd, 0, 0, 0 },
{"rsync-path", 0, POPT_ARG_STRING, &rsync_path, 0, 0, 0 },
{"temp-dir", 'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 },
{"rsh", 'e', POPT_ARG_STRING, &shell_cmd, 0, 0, 0 },
{"rsync-path", 0, POPT_ARG_STRING, &rsync_path, 0, 0, 0 },
{"temp-dir", 'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 },
-@@ -201
8,6 +2021
,9 @@ void server_options(char **args, int *argc_p)
+@@ -201
9,6 +2022
,9 @@ void server_options(char **args, int *argc_p)
args[ac++] = tmpdir;
}
args[ac++] = tmpdir;
}
@@
-55,7
+55,7
@@
diff --git a/receiver.c b/receiver.c
extern int basis_dir_cnt;
extern int make_backups;
extern int cleanup_got_literal;
extern int basis_dir_cnt;
extern int make_backups;
extern int cleanup_got_literal;
-@@ -
299,6 +300
,12 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
+@@ -
302,6 +303
,12 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
exit_cleanup(RERR_FILEIO);
}
exit_cleanup(RERR_FILEIO);
}
diff --git
a/ignore-case.diff
b/ignore-case.diff
index
d8f7d55
..
afa4566
100644
(file)
--- a/
ignore-case.diff
+++ b/
ignore-case.diff
@@
-55,7
+55,7
@@
diff --git a/flist.c b/flist.c
extern int ignore_errors;
extern int numeric_ids;
extern int recurse;
extern int ignore_errors;
extern int numeric_ids;
extern int recurse;
-@@ -279
4,6 +2795
,7 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
+@@ -279
7,6 +2798
,7 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
{
int dif;
const uchar *c1, *c2;
{
int dif;
const uchar *c1, *c2;
@@
-63,7
+63,7
@@
diff --git a/flist.c b/flist.c
enum fnc_state state1, state2;
enum fnc_type type1, type2;
enum fnc_type t_path = protocol_version >= 29 ? t_PATH : t_ITEM;
enum fnc_state state1, state2;
enum fnc_type type1, type2;
enum fnc_type t_path = protocol_version >= 29 ? t_PATH : t_ITEM;
-@@ -290
4,7 +2906
,15 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
+@@ -290
7,7 +2909
,15 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
if (type1 != type2)
return type1 == t_PATH ? 1 : -1;
}
if (type1 != type2)
return type1 == t_PATH ? 1 : -1;
}
@@
-219,7
+219,7
@@
diff --git a/options.c b/options.c
int blocking_io = -1;
int checksum_seed = 0;
int inplace = 0;
int blocking_io = -1;
int checksum_seed = 0;
int inplace = 0;
-@@ -40
8,6 +409
,7 @@ void usage(enum logcode F)
+@@ -40
9,6 +410
,7 @@ void usage(enum logcode F)
rprintf(F," --files-from=FILE read list of source-file names from FILE\n");
rprintf(F," -0, --from0 all *-from/filter files are delimited by 0s\n");
rprintf(F," -s, --protect-args no space-splitting; only wildcard special-chars\n");
rprintf(F," --files-from=FILE read list of source-file names from FILE\n");
rprintf(F," -0, --from0 all *-from/filter files are delimited by 0s\n");
rprintf(F," -s, --protect-args no space-splitting; only wildcard special-chars\n");
@@
-227,7
+227,7
@@
diff --git a/options.c b/options.c
rprintf(F," --address=ADDRESS bind address for outgoing socket to daemon\n");
rprintf(F," --port=PORT specify double-colon alternate port number\n");
rprintf(F," --sockopts=OPTIONS specify custom TCP options\n");
rprintf(F," --address=ADDRESS bind address for outgoing socket to daemon\n");
rprintf(F," --port=PORT specify double-colon alternate port number\n");
rprintf(F," --sockopts=OPTIONS specify custom TCP options\n");
-@@ -61
4,6 +616
,8 @@ static struct poptOption long_options[] = {
+@@ -61
5,6 +617
,8 @@ static struct poptOption long_options[] = {
{"read-batch", 0, POPT_ARG_STRING, &batch_name, OPT_READ_BATCH, 0, 0 },
{"write-batch", 0, POPT_ARG_STRING, &batch_name, OPT_WRITE_BATCH, 0, 0 },
{"only-write-batch", 0, POPT_ARG_STRING, &batch_name, OPT_ONLY_WRITE_BATCH, 0, 0 },
{"read-batch", 0, POPT_ARG_STRING, &batch_name, OPT_READ_BATCH, 0, 0 },
{"write-batch", 0, POPT_ARG_STRING, &batch_name, OPT_WRITE_BATCH, 0, 0 },
{"only-write-batch", 0, POPT_ARG_STRING, &batch_name, OPT_ONLY_WRITE_BATCH, 0, 0 },
@@
-236,7
+236,7
@@
diff --git a/options.c b/options.c
{"files-from", 0, POPT_ARG_STRING, &files_from, 0, 0, 0 },
{"from0", '0', POPT_ARG_VAL, &eol_nulls, 1, 0, 0},
{"no-from0", 0, POPT_ARG_VAL, &eol_nulls, 0, 0, 0},
{"files-from", 0, POPT_ARG_STRING, &files_from, 0, 0, 0 },
{"from0", '0', POPT_ARG_VAL, &eol_nulls, 1, 0, 0},
{"no-from0", 0, POPT_ARG_VAL, &eol_nulls, 0, 0, 0},
-@@ -198
0,6 +1984
,9 @@ void server_options(char **args, int *argc_p)
+@@ -198
1,6 +1985
,9 @@ void server_options(char **args, int *argc_p)
args[ac++] = arg;
}
args[ac++] = arg;
}
@@
-249,7
+249,7
@@
diff --git a/options.c b/options.c
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -40
2,6 +402
,7 @@ to the detailed description below for a complete description. verb(
+@@ -40
6,6 +406
,7 @@ to the detailed description below for a complete description. verb(
--files-from=FILE read list of source-file names from FILE
-0, --from0 all *from/filter files are delimited by 0s
-s, --protect-args no space-splitting; wildcard chars only
--files-from=FILE read list of source-file names from FILE
-0, --from0 all *from/filter files are delimited by 0s
-s, --protect-args no space-splitting; wildcard chars only
@@
-257,7
+257,7
@@
diff --git a/rsync.yo b/rsync.yo
--address=ADDRESS bind address for outgoing socket to daemon
--port=PORT specify double-colon alternate port number
--sockopts=OPTIONS specify custom TCP options
--address=ADDRESS bind address for outgoing socket to daemon
--port=PORT specify double-colon alternate port number
--sockopts=OPTIONS specify custom TCP options
-@@ -144
5,6 +1446
,10 @@ If you use this option with bf(--iconv), the args will also be translated
+@@ -144
9,6 +1450
,10 @@ If you use this option with bf(--iconv), the args will also be translated
from the local to the remote character-set. The translation happens before
wild-cards are expanded. See also the bf(--files-from) option.
from the local to the remote character-set. The translation happens before
wild-cards are expanded. See also the bf(--files-from) option.
diff --git
a/link-by-hash.diff
b/link-by-hash.diff
index
16e80bc
..
ca447b4
100644
(file)
--- a/
link-by-hash.diff
+++ b/
link-by-hash.diff
@@
-396,7
+396,7
@@
diff --git a/options.c b/options.c
char *config_file = NULL;
char *shell_cmd = NULL;
char *logfile_name = NULL;
char *config_file = NULL;
char *shell_cmd = NULL;
char *logfile_name = NULL;
-@@ -39
4,6 +395
,7 @@ void usage(enum logcode F)
+@@ -39
5,6 +396
,7 @@ void usage(enum logcode F)
rprintf(F," --compare-dest=DIR also compare destination files relative to DIR\n");
rprintf(F," --copy-dest=DIR ... and include copies of unchanged files\n");
rprintf(F," --link-dest=DIR hardlink to files in DIR when unchanged\n");
rprintf(F," --compare-dest=DIR also compare destination files relative to DIR\n");
rprintf(F," --copy-dest=DIR ... and include copies of unchanged files\n");
rprintf(F," --link-dest=DIR hardlink to files in DIR when unchanged\n");
@@
-404,7
+404,7
@@
diff --git a/options.c b/options.c
rprintf(F," -z, --compress compress file data during the transfer\n");
rprintf(F," --compress-level=NUM explicitly set compression level\n");
rprintf(F," --skip-compress=LIST skip compressing files with a suffix in LIST\n");
rprintf(F," -z, --compress compress file data during the transfer\n");
rprintf(F," --compress-level=NUM explicitly set compression level\n");
rprintf(F," --skip-compress=LIST skip compressing files with a suffix in LIST\n");
-@@ -44
6,7 +448
,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
+@@ -44
7,7 +449
,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
OPT_FILTER, OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_HELP,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD,
OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE,
OPT_FILTER, OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_HELP,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD,
OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE,
@@
-413,7
+413,7
@@
diff --git a/options.c b/options.c
OPT_SERVER, OPT_REFUSED_BASE = 9000};
static struct poptOption long_options[] = {
OPT_SERVER, OPT_REFUSED_BASE = 9000};
static struct poptOption long_options[] = {
-@@ -57
8,6 +580
,7 @@ static struct poptOption long_options[] = {
+@@ -57
9,6 +581
,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 },
{"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 },
@@
-421,7
+421,7
@@
diff --git a/options.c b/options.c
{"fuzzy", 'y', POPT_ARG_VAL, &fuzzy_basis, 1, 0, 0 },
{"no-fuzzy", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
{"no-y", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
{"fuzzy", 'y', POPT_ARG_VAL, &fuzzy_basis, 1, 0, 0 },
{"no-fuzzy", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
{"no-y", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
-@@ -126
0,6 +1263
,21 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -126
1,6 +1264
,21 @@ int parse_arguments(int *argc_p, const char ***argv_p)
return 0;
#endif
return 0;
#endif
@@
-443,7
+443,7
@@
diff --git a/options.c b/options.c
default:
/* A large opt value means that set_refuse_options()
* turned this option off. */
default:
/* A large opt value means that set_refuse_options()
* turned this option off. */
-@@ -203
7,6 +2055
,11 @@ void server_options(char **args, int *argc_p)
+@@ -203
8,6 +2056
,11 @@ void server_options(char **args, int *argc_p)
} else if (inplace)
args[ac++] = "--inplace";
} else if (inplace)
args[ac++] = "--inplace";
@@
-502,7
+502,7
@@
diff --git a/receiver.c b/receiver.c
}
if (updating_basis_or_equiv) {
}
if (updating_basis_or_equiv) {
-@@ -30
0,6 +309
,8 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
+@@ -30
3,6 +312
,8 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
}
sum_len = sum_end(file_sum1);
}
sum_len = sum_end(file_sum1);
@@
-511,7
+511,7
@@
diff --git a/receiver.c b/receiver.c
if (mapbuf)
unmap_file(mapbuf);
if (mapbuf)
unmap_file(mapbuf);
-@@ -31
5,7 +326
,7 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
+@@ -31
8,7 +329
,7 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
static void discard_receive_data(int f_in, OFF_T length)
{
static void discard_receive_data(int f_in, OFF_T length)
{
@@
-520,7
+520,7
@@
diff --git a/receiver.c b/receiver.c
}
static void handle_delayed_updates(char *local_name)
}
static void handle_delayed_updates(char *local_name)
-@@ -70
5,7 +716
,7 @@ int recv_files(int f_in, char *local_name)
+@@ -70
8,7 +719
,7 @@ int recv_files(int f_in, char *local_name)
/* recv file data */
recv_ok = receive_data(f_in, fnamecmp, fd1, st.st_size,
/* recv file data */
recv_ok = receive_data(f_in, fnamecmp, fd1, st.st_size,
@@
-579,7
+579,7
@@
diff --git a/rsync.h b/rsync.h
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -3
88,6 +388
,7 @@ to the detailed description below for a complete description. verb(
+@@ -3
92,6 +392
,7 @@ to the detailed description below for a complete description. verb(
--compare-dest=DIR also compare received files relative to DIR
--copy-dest=DIR ... and include copies of unchanged files
--link-dest=DIR hardlink to files in DIR when unchanged
--compare-dest=DIR also compare received files relative to DIR
--copy-dest=DIR ... and include copies of unchanged files
--link-dest=DIR hardlink to files in DIR when unchanged
diff --git
a/log-checksum.diff
b/log-checksum.diff
index
38475b3
..
627d13d
100644
(file)
--- a/
log-checksum.diff
+++ b/
log-checksum.diff
@@
-46,7
+46,7
@@
diff --git a/flist.c b/flist.c
if (am_sender)
F_PATHNAME(file) = pathname;
else if (!pool)
if (am_sender)
F_PATHNAME(file) = pathname;
else if (!pool)
-@@ -13
19,6 +1323
,9 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
+@@ -13
00,6 +1304
,9 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
return NULL;
}
return NULL;
}
@@
-210,7
+210,7
@@
diff --git a/match.c b/match.c
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
-@@ -152
4,7 +1524
,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -152
5,7 +1525
,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
else if (log_format_has(stdout_format, 'i'))
stdout_format_has_i = itemize_changes | 1;
if (!log_format_has(stdout_format, 'b')
else if (log_format_has(stdout_format, 'i'))
stdout_format_has_i = itemize_changes | 1;
if (!log_format_has(stdout_format, 'b')
@@
-251,7
+251,7
@@
diff --git a/receiver.c b/receiver.c
OFF_T offset = 0;
OFF_T offset2;
char *data;
OFF_T offset = 0;
OFF_T offset2;
char *data;
-@@ -
299,15 +300
,16 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
+@@ -
302,15 +303
,16 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
exit_cleanup(RERR_FILEIO);
}
exit_cleanup(RERR_FILEIO);
}
diff --git
a/munge-links.diff
b/munge-links.diff
index
a914531
..
e163888
100644
(file)
--- a/
munge-links.diff
+++ b/
munge-links.diff
@@
-35,7
+35,7
@@
diff --git a/clientserver.c b/clientserver.c
pid_t pre_exec_pid = 0;
char *request = NULL;
pid_t pre_exec_pid = 0;
char *request = NULL;
-@@ -68
7,9 +688
,11 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
+@@ -68
8,9 +689
,11 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
munge_symlinks = !use_chroot || module_dirlen;
if (munge_symlinks) {
STRUCT_STAT st;
munge_symlinks = !use_chroot || module_dirlen;
if (munge_symlinks) {
STRUCT_STAT st;
@@
-50,7
+50,7
@@
diff --git a/clientserver.c b/clientserver.c
io_printf(f_out, "@ERROR: daemon security issue -- contact admin\n", name);
exit_cleanup(RERR_UNSUPPORTED);
}
io_printf(f_out, "@ERROR: daemon security issue -- contact admin\n", name);
exit_cleanup(RERR_UNSUPPORTED);
}
-@@ -74
5,6 +748
,8 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
+@@ -74
6,6 +749
,8 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
read_args(f_in, name, line, sizeof line, rl_nulls, &argv, &argc, &request);
orig_argv = argv;
read_args(f_in, name, line, sizeof line, rl_nulls, &argv, &argc, &request);
orig_argv = argv;
@@
-59,7
+59,7
@@
diff --git a/clientserver.c b/clientserver.c
verbose = 0; /* future verbosity is controlled by client options */
ret = parse_arguments(&argc, (const char ***) &argv);
if (protect_args && ret) {
verbose = 0; /* future verbosity is controlled by client options */
ret = parse_arguments(&argc, (const char ***) &argv);
if (protect_args && ret) {
-@@ -75
6,6 +761
,8 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
+@@ -75
7,6 +762
,8 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
} else
orig_early_argv = NULL;
} else
orig_early_argv = NULL;
@@
-79,7
+79,7
@@
diff --git a/options.c b/options.c
int size_only = 0;
int daemon_bwlimit = 0;
int bwlimit = 0;
int size_only = 0;
int daemon_bwlimit = 0;
int bwlimit = 0;
-@@ -33
8,6 +339
,7 @@ void usage(enum logcode F)
+@@ -33
9,6 +340
,7 @@ void usage(enum logcode F)
rprintf(F," -L, --copy-links transform symlink into referent file/dir\n");
rprintf(F," --copy-unsafe-links only \"unsafe\" symlinks are transformed\n");
rprintf(F," --safe-links ignore symlinks that point outside the source tree\n");
rprintf(F," -L, --copy-links transform symlink into referent file/dir\n");
rprintf(F," --copy-unsafe-links only \"unsafe\" symlinks are transformed\n");
rprintf(F," --safe-links ignore symlinks that point outside the source tree\n");
@@
-87,7
+87,7
@@
diff --git a/options.c b/options.c
rprintf(F," -k, --copy-dirlinks transform symlink to a dir into referent dir\n");
rprintf(F," -K, --keep-dirlinks treat symlinked dir on receiver as dir\n");
rprintf(F," -H, --hard-links preserve hard links\n");
rprintf(F," -k, --copy-dirlinks transform symlink to a dir into referent dir\n");
rprintf(F," -K, --keep-dirlinks treat symlinked dir on receiver as dir\n");
rprintf(F," -H, --hard-links preserve hard links\n");
-@@ -52
0,6 +522
,8 @@ static struct poptOption long_options[] = {
+@@ -52
1,6 +523
,8 @@ static struct poptOption long_options[] = {
{"copy-links", 'L', POPT_ARG_NONE, ©_links, 0, 0, 0 },
{"copy-unsafe-links",0, POPT_ARG_NONE, ©_unsafe_links, 0, 0, 0 },
{"safe-links", 0, POPT_ARG_NONE, &safe_symlinks, 0, 0, 0 },
{"copy-links", 'L', POPT_ARG_NONE, ©_links, 0, 0, 0 },
{"copy-unsafe-links",0, POPT_ARG_NONE, ©_unsafe_links, 0, 0, 0 },
{"safe-links", 0, POPT_ARG_NONE, &safe_symlinks, 0, 0, 0 },
@@
-96,7
+96,7
@@
diff --git a/options.c b/options.c
{"copy-dirlinks", 'k', POPT_ARG_NONE, ©_dirlinks, 0, 0, 0 },
{"keep-dirlinks", 'K', POPT_ARG_NONE, &keep_dirlinks, 0, 0, 0 },
{"hard-links", 'H', POPT_ARG_NONE, 0, 'H', 0, 0 },
{"copy-dirlinks", 'k', POPT_ARG_NONE, ©_dirlinks, 0, 0, 0 },
{"keep-dirlinks", 'K', POPT_ARG_NONE, &keep_dirlinks, 0, 0, 0 },
{"hard-links", 'H', POPT_ARG_NONE, 0, 'H', 0, 0 },
-@@ -147
1,6 +1475
,17 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -147
2,6 +1476
,17 @@ int parse_arguments(int *argc_p, const char ***argv_p)
need_messages_from_generator = 1;
}
need_messages_from_generator = 1;
}
@@
-148,7
+148,7
@@
diff --git a/rsync.h b/rsync.h
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -33
4,6 +334
,7 @@ to the detailed description below for a complete description. verb(
+@@ -33
8,6 +338
,7 @@ to the detailed description below for a complete description. verb(
-L, --copy-links transform symlink into referent file/dir
--copy-unsafe-links only "unsafe" symlinks are transformed
--safe-links ignore symlinks that point outside the tree
-L, --copy-links transform symlink into referent file/dir
--copy-unsafe-links only "unsafe" symlinks are transformed
--safe-links ignore symlinks that point outside the tree
@@
-156,7
+156,7
@@
diff --git a/rsync.yo b/rsync.yo
-k, --copy-dirlinks transform symlink to dir into referent dir
-K, --keep-dirlinks treat symlinked dir on receiver as dir
-H, --hard-links preserve hard links
-k, --copy-dirlinks transform symlink to dir into referent dir
-K, --keep-dirlinks treat symlinked dir on receiver as dir
-H, --hard-links preserve hard links
-@@ -79
1,6 +792
,25 @@ which point outside the copied tree. All absolute symlinks are
+@@ -79
5,6 +796
,25 @@ which point outside the copied tree. All absolute symlinks are
also ignored. Using this option in conjunction with bf(--relative) may
give unexpected results.
also ignored. Using this option in conjunction with bf(--relative) may
give unexpected results.
diff --git
a/nameconverter.diff
b/nameconverter.diff
index
f385cbf
..
81e3c30
100644
(file)
--- a/
nameconverter.diff
+++ b/
nameconverter.diff
@@
-48,7
+48,7
@@
diff --git a/clientserver.c b/clientserver.c
char *modname, *modpath, *hostaddr, *hostname, *username;
int status;
char *modname, *modpath, *hostaddr, *hostname, *username;
int status;
-@@ -65
3,6 +655
,44 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
+@@ -65
4,6 +656
,44 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
set_blocking(fds[1]);
pre_exec_fd = fds[1];
}
set_blocking(fds[1]);
pre_exec_fd = fds[1];
}
@@
-93,7
+93,7
@@
diff --git a/clientserver.c b/clientserver.c
umask(0);
}
#endif
umask(0);
}
#endif
-@@ -87
6,6 +916
,44 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
+@@ -87
7,6 +917
,44 @@ static int rsync_module(int f_in, int f_out, int i, char *addr, char *host)
return 0;
}
return 0;
}
diff --git
a/omit-dir-changes.diff
b/omit-dir-changes.diff
index
de6cba9
..
18530c8
100644
(file)
--- a/
omit-dir-changes.diff
+++ b/
omit-dir-changes.diff
@@
-18,7
+18,7
@@
diff --git a/generator.c b/generator.c
extern int uid_ndx;
extern int gid_ndx;
extern int delete_mode;
extern int uid_ndx;
extern int gid_ndx;
extern int delete_mode;
-@@ -6
27,6 +628
,7 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -6
30,6 +631
,7 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
const char *xname)
{
if (statret >= 0) { /* A from-dest-dir statret can == 1! */
const char *xname)
{
if (statret >= 0) { /* A from-dest-dir statret can == 1! */
@@
-26,7
+26,7
@@
diff --git a/generator.c b/generator.c
int keep_time = !preserve_times ? 0
: S_ISDIR(file->mode) ? preserve_times > 1 :
#if defined HAVE_LUTIMES && defined HAVE_UTIMES
int keep_time = !preserve_times ? 0
: S_ISDIR(file->mode) ? preserve_times > 1 :
#if defined HAVE_LUTIMES && defined HAVE_UTIMES
-@@ -65
6,10 +658
,11 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -65
9,10 +661
,11 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
} else if (preserve_executability
&& ((sxp->st.st_mode & 0111 ? 1 : 0) ^ (file->mode & 0111 ? 1 : 0)))
iflags |= ITEM_REPORT_PERMS;
} else if (preserve_executability
&& ((sxp->st.st_mode & 0111 ? 1 : 0) ^ (file->mode & 0111 ? 1 : 0)))
iflags |= ITEM_REPORT_PERMS;
@@
-41,7
+41,7
@@
diff --git a/generator.c b/generator.c
iflags |= ITEM_REPORT_GROUP;
#ifdef SUPPORT_ACLS
if (preserve_acls && !S_ISLNK(file->mode)) {
iflags |= ITEM_REPORT_GROUP;
#ifdef SUPPORT_ACLS
if (preserve_acls && !S_ISLNK(file->mode)) {
-@@ -143
5,7 +1438
,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
+@@ -143
8,7 +1441
,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
real_sx = sx;
if (file->flags & FLAG_DIR_CREATED)
statret = -1;
real_sx = sx;
if (file->flags & FLAG_DIR_CREATED)
statret = -1;
@@
-61,7
+61,7
@@
diff --git a/options.c b/options.c
int update_only = 0;
int cvs_exclude = 0;
int dry_run = 0;
int update_only = 0;
int cvs_exclude = 0;
int dry_run = 0;
-@@ -35
3,6 +354
,7 @@ void usage(enum logcode F)
+@@ -35
4,6 +355
,7 @@ void usage(enum logcode F)
rprintf(F," -D same as --devices --specials\n");
rprintf(F," -t, --times preserve modification times\n");
rprintf(F," -O, --omit-dir-times omit directories from --times\n");
rprintf(F," -D same as --devices --specials\n");
rprintf(F," -t, --times preserve modification times\n");
rprintf(F," -O, --omit-dir-times omit directories from --times\n");
@@
-69,7
+69,7
@@
diff --git a/options.c b/options.c
rprintf(F," --super receiver attempts super-user activities\n");
#ifdef SUPPORT_XATTRS
rprintf(F," --fake-super store/recover privileged attrs using xattrs\n");
rprintf(F," --super receiver attempts super-user activities\n");
#ifdef SUPPORT_XATTRS
rprintf(F," --fake-super store/recover privileged attrs using xattrs\n");
-@@ -49
3,6 +495
,7 @@ static struct poptOption long_options[] = {
+@@ -49
4,6 +496
,7 @@ static struct poptOption long_options[] = {
{"omit-dir-times", 'O', POPT_ARG_VAL, &omit_dir_times, 1, 0, 0 },
{"no-omit-dir-times",0, POPT_ARG_VAL, &omit_dir_times, 0, 0, 0 },
{"no-O", 0, POPT_ARG_VAL, &omit_dir_times, 0, 0, 0 },
{"omit-dir-times", 'O', POPT_ARG_VAL, &omit_dir_times, 1, 0, 0 },
{"no-omit-dir-times",0, POPT_ARG_VAL, &omit_dir_times, 0, 0, 0 },
{"no-O", 0, POPT_ARG_VAL, &omit_dir_times, 0, 0, 0 },
@@
-77,7
+77,7
@@
diff --git a/options.c b/options.c
{"modify-window", 0, POPT_ARG_INT, &modify_window, OPT_MODIFY_WINDOW, 0, 0 },
{"super", 0, POPT_ARG_VAL, &am_root, 2, 0, 0 },
{"no-super", 0, POPT_ARG_VAL, &am_root, 0, 0, 0 },
{"modify-window", 0, POPT_ARG_INT, &modify_window, OPT_MODIFY_WINDOW, 0, 0 },
{"super", 0, POPT_ARG_VAL, &am_root, 2, 0, 0 },
{"no-super", 0, POPT_ARG_VAL, &am_root, 0, 0, 0 },
-@@ -15
09,6 +1512
,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -15
10,6 +1513
,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
parse_rule(&filter_list, backup_dir_buf, 0, 0);
}
parse_rule(&filter_list, backup_dir_buf, 0, 0);
}
@@
-86,7
+86,7
@@
diff --git a/options.c b/options.c
if (make_backups && !backup_dir) {
omit_dir_times = 0; /* Implied, so avoid -O to sender. */
if (preserve_times > 1)
if (make_backups && !backup_dir) {
omit_dir_times = 0; /* Implied, so avoid -O to sender. */
if (preserve_times > 1)
-@@ -174
7,6 +1752
,8 @@ void server_options(char **args, int *argc_p)
+@@ -174
8,6 +1753
,8 @@ void server_options(char **args, int *argc_p)
argstr[x++] = 'm';
if (omit_dir_times)
argstr[x++] = 'O';
argstr[x++] = 'm';
if (omit_dir_times)
argstr[x++] = 'O';
@@
-123,7
+123,7
@@
diff --git a/rsync.c b/rsync.c
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -3
49,6 +349
,7 @@ to the detailed description below for a complete description. verb(
+@@ -3
53,6 +353
,7 @@ to the detailed description below for a complete description. verb(
-D same as --devices --specials
-t, --times preserve modification times
-O, --omit-dir-times omit directories from --times
-D same as --devices --specials
-t, --times preserve modification times
-O, --omit-dir-times omit directories from --times
@@
-131,7
+131,7
@@
diff --git a/rsync.yo b/rsync.yo
--super receiver attempts super-user activities
--fake-super store/recover privileged attrs using xattrs
-S, --sparse handle sparse files efficiently
--super receiver attempts super-user activities
--fake-super store/recover privileged attrs using xattrs
-S, --sparse handle sparse files efficiently
-@@ -100
0,6 +1001
,10 @@ it is preserving modification times (see bf(--times)). If NFS is sharing
+@@ -100
4,6 +1005
,10 @@ it is preserving modification times (see bf(--times)). If NFS is sharing
the directories on the receiving side, it is a good idea to use bf(-O).
This option is inferred if you use bf(--backup) without bf(--backup-dir).
the directories on the receiving side, it is a good idea to use bf(-O).
This option is inferred if you use bf(--backup) without bf(--backup-dir).
diff --git
a/openssl-support.diff
b/openssl-support.diff
index
5b54288
..
888800c
100644
(file)
--- a/
openssl-support.diff
+++ b/
openssl-support.diff
@@
-163,7
+163,7
@@
diff --git a/clientserver.c b/clientserver.c
return -1;
}
return -1;
}
-@@ -93
3,6 +980
,9 @@ int start_daemon(int f_in, int f_out)
+@@ -93
4,6 +981
,9 @@ int start_daemon(int f_in, int f_out)
if (exchange_protocols(f_in, f_out, line, sizeof line, 0) < 0)
return -1;
if (exchange_protocols(f_in, f_out, line, sizeof line, 0) < 0)
return -1;
@@
-173,7
+173,7
@@
diff --git a/clientserver.c b/clientserver.c
line[0] = 0;
if (!read_line_old(f_in, line, sizeof line))
return -1;
line[0] = 0;
if (!read_line_old(f_in, line, sizeof line))
return -1;
-@@ -94
4,6 +994
,20 @@ int start_daemon(int f_in, int f_out)
+@@ -94
5,6 +995
,20 @@ int start_daemon(int f_in, int f_out)
return -1;
}
return -1;
}
@@
-245,7
+245,7
@@
diff --git a/options.c b/options.c
STRUCT_STAT *dumstat;
#if SUBPROTOCOL_VERSION != 0
STRUCT_STAT *dumstat;
#if SUBPROTOCOL_VERSION != 0
-@@ -25
7,6 +266
,9 @@ static void print_rsync_version(enum logcode f)
+@@ -25
8,6 +267
,9 @@ static void print_rsync_version(enum logcode f)
#if defined HAVE_LUTIMES && defined HAVE_UTIMES
symtimes = "";
#endif
#if defined HAVE_LUTIMES && defined HAVE_UTIMES
symtimes = "";
#endif
@@
-255,7
+255,7
@@
diff --git a/options.c b/options.c
rprintf(f, "%s version %s protocol version %d%s\n",
RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
rprintf(f, "%s version %s protocol version %d%s\n",
RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
-@@ -27
0,8 +282
,8 @@ static void print_rsync_version(enum logcode f)
+@@ -27
1,8 +283
,8 @@ static void print_rsync_version(enum logcode f)
(int)(sizeof (int64) * 8));
rprintf(f, " %ssocketpairs, %shardlinks, %ssymlinks, %sIPv6, batchfiles, %sinplace,\n",
got_socketpair, hardlinks, links, ipv6, have_inplace);
(int)(sizeof (int64) * 8));
rprintf(f, " %ssocketpairs, %shardlinks, %ssymlinks, %sIPv6, batchfiles, %sinplace,\n",
got_socketpair, hardlinks, links, ipv6, have_inplace);
@@
-266,7
+266,7
@@
diff --git a/options.c b/options.c
#ifdef MAINTAINER_MODE
rprintf(f, "Panic Action: \"%s\"\n", get_panic_action());
#ifdef MAINTAINER_MODE
rprintf(f, "Panic Action: \"%s\"\n", get_panic_action());
-@@ -43
3,6 +445
,13 @@ void usage(enum logcode F)
+@@ -43
4,6 +446
,13 @@ void usage(enum logcode F)
#endif
rprintf(F," -4, --ipv4 prefer IPv4\n");
rprintf(F," -6, --ipv6 prefer IPv6\n");
#endif
rprintf(F," -4, --ipv4 prefer IPv4\n");
rprintf(F," -6, --ipv6 prefer IPv6\n");
@@
-280,7
+280,7
@@
diff --git a/options.c b/options.c
rprintf(F," --version print version number\n");
rprintf(F,"(-h) --help show this help (-h works with no other options)\n");
rprintf(F," --version print version number\n");
rprintf(F,"(-h) --help show this help (-h works with no other options)\n");
-@@ -44
6,7 +465
,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
+@@ -44
7,7 +466
,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
OPT_FILTER, OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_HELP,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD,
OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE,
OPT_FILTER, OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_HELP,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD,
OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE,
@@
-289,7
+289,7
@@
diff --git a/options.c b/options.c
OPT_SERVER, OPT_REFUSED_BASE = 9000};
static struct poptOption long_options[] = {
OPT_SERVER, OPT_REFUSED_BASE = 9000};
static struct poptOption long_options[] = {
-@@ -6
49,6 +668
,13 @@ static struct poptOption long_options[] = {
+@@ -6
50,6 +669
,13 @@ static struct poptOption long_options[] = {
{"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 },
{"server", 0, POPT_ARG_NONE, 0, OPT_SERVER, 0, 0 },
{"sender", 0, POPT_ARG_NONE, 0, OPT_SENDER, 0, 0 },
{"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 },
{"server", 0, POPT_ARG_NONE, 0, OPT_SERVER, 0, 0 },
{"sender", 0, POPT_ARG_NONE, 0, OPT_SENDER, 0, 0 },
@@
-303,7
+303,7
@@
diff --git a/options.c b/options.c
/* All the following options switch us into daemon-mode option-parsing. */
{"config", 0, POPT_ARG_STRING, 0, OPT_DAEMON, 0, 0 },
{"daemon", 0, POPT_ARG_NONE, 0, OPT_DAEMON, 0, 0 },
/* All the following options switch us into daemon-mode option-parsing. */
{"config", 0, POPT_ARG_STRING, 0, OPT_DAEMON, 0, 0 },
{"daemon", 0, POPT_ARG_NONE, 0, OPT_DAEMON, 0, 0 },
-@@ -67
4,6 +700
,13 @@ static void daemon_usage(enum logcode F)
+@@ -67
5,6 +701
,13 @@ static void daemon_usage(enum logcode F)
rprintf(F," -v, --verbose increase verbosity\n");
rprintf(F," -4, --ipv4 prefer IPv4\n");
rprintf(F," -6, --ipv6 prefer IPv6\n");
rprintf(F," -v, --verbose increase verbosity\n");
rprintf(F," -4, --ipv4 prefer IPv4\n");
rprintf(F," -6, --ipv6 prefer IPv6\n");
@@
-317,7
+317,7
@@
diff --git a/options.c b/options.c
rprintf(F," --help show this help screen\n");
rprintf(F,"\n");
rprintf(F," --help show this help screen\n");
rprintf(F,"\n");
-@@ -69
8,6 +731
,13 @@ static struct poptOption long_daemon_options[] = {
+@@ -69
9,6 +732
,13 @@ static struct poptOption long_daemon_options[] = {
{"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 },
{"server", 0, POPT_ARG_NONE, &am_server, 0, 0, 0 },
{"temp-dir", 'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 },
{"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 },
{"server", 0, POPT_ARG_NONE, &am_server, 0, 0, 0 },
{"temp-dir", 'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 },
@@
-331,7
+331,7
@@
diff --git a/options.c b/options.c
{"verbose", 'v', POPT_ARG_NONE, 0, 'v', 0, 0 },
{"no-verbose", 0, POPT_ARG_VAL, &verbose, 0, 0, 0 },
{"no-v", 0, POPT_ARG_VAL, &verbose, 0, 0, 0 },
{"verbose", 'v', POPT_ARG_NONE, 0, 'v', 0, 0 },
{"no-verbose", 0, POPT_ARG_VAL, &verbose, 0, 0, 0 },
{"no-v", 0, POPT_ARG_VAL, &verbose, 0, 0, 0 },
-@@ -9
79,6 +1019
,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -9
80,6 +1020
,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
verbose++;
break;
verbose++;
break;
@@
-344,7
+344,7
@@
diff --git a/options.c b/options.c
default:
rprintf(FERROR,
"rsync: %s: %s (in daemon mode)\n",
default:
rprintf(FERROR,
"rsync: %s: %s (in daemon mode)\n",
-@@ -100
2,6 +1048
,17 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -100
3,6 +1049
,17 @@ int parse_arguments(int *argc_p, const char ***argv_p)
exit_cleanup(RERR_SYNTAX);
}
exit_cleanup(RERR_SYNTAX);
}
@@
-362,7
+362,7
@@
diff --git a/options.c b/options.c
*argv_p = argv = poptGetArgs(pc);
*argc_p = argc = count_args(argv);
am_starting_up = 0;
*argv_p = argv = poptGetArgs(pc);
*argc_p = argc = count_args(argv);
am_starting_up = 0;
-@@ -126
0,6 +1317
,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -126
1,6 +1318
,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
return 0;
#endif
return 0;
#endif
@@
-375,7
+375,7
@@
diff --git a/options.c b/options.c
default:
/* A large opt value means that set_refuse_options()
* turned this option off. */
default:
/* A large opt value means that set_refuse_options()
* turned this option off. */
-@@ -159
3,6 +1656
,17 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -159
4,6 +1657
,17 @@ int parse_arguments(int *argc_p, const char ***argv_p)
if (delay_updates && !partial_dir)
partial_dir = tmp_partialdir;
if (delay_updates && !partial_dir)
partial_dir = tmp_partialdir;
@@
-393,7
+393,7
@@
diff --git a/options.c b/options.c
if (inplace) {
#ifdef HAVE_FTRUNCATE
if (partial_dir) {
if (inplace) {
#ifdef HAVE_FTRUNCATE
if (partial_dir) {
-@@ -208
6,10 +2160
,27 @@ char *check_for_hostspec(char *s, char **host_ptr, int *port_ptr)
+@@ -208
7,10 +2161
,27 @@ char *check_for_hostspec(char *s, char **host_ptr, int *port_ptr)
char *p;
int not_host;
int hostlen;
char *p;
int not_host;
int hostlen;
diff --git
a/osx-xattr-nodev.diff
b/osx-xattr-nodev.diff
index
44b1926
..
452181b
100644
(file)
--- a/
osx-xattr-nodev.diff
+++ b/
osx-xattr-nodev.diff
@@
-11,7
+11,7
@@
To use this patch, run these commands for a successful build:
diff --git a/flist.c b/flist.c
--- a/flist.c
+++ b/flist.c
diff --git a/flist.c b/flist.c
--- a/flist.c
+++ b/flist.c
-@@ -14
27,6 +1427
,7 @@ static struct file_struct *send_file_name(int f, struct file_list *flist,
+@@ -14
08,6 +1408
,7 @@ static struct file_struct *send_file_name(int f, struct file_list *flist,
#endif
#ifdef SUPPORT_XATTRS
if (preserve_xattrs) {
#endif
#ifdef SUPPORT_XATTRS
if (preserve_xattrs) {
diff --git
a/preallocate.diff
b/preallocate.diff
index
0efcec4
..
e9cd77c
100644
(file)
--- a/
preallocate.diff
+++ b/
preallocate.diff
@@
-100,7
+100,7
@@
diff --git a/options.c b/options.c
STRUCT_STAT *dumstat;
#if SUBPROTOCOL_VERSION != 0
STRUCT_STAT *dumstat;
#if SUBPROTOCOL_VERSION != 0
-@@ -25
7,6 +259
,9 @@ static void print_rsync_version(enum logcode f)
+@@ -25
8,6 +260
,9 @@ static void print_rsync_version(enum logcode f)
#if defined HAVE_LUTIMES && defined HAVE_UTIMES
symtimes = "";
#endif
#if defined HAVE_LUTIMES && defined HAVE_UTIMES
symtimes = "";
#endif
@@
-110,7
+110,7
@@
diff --git a/options.c b/options.c
rprintf(f, "%s version %s protocol version %d%s\n",
RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
rprintf(f, "%s version %s protocol version %d%s\n",
RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
-@@ -27
0,8 +275
,8 @@ static void print_rsync_version(enum logcode f)
+@@ -27
1,8 +276
,8 @@ static void print_rsync_version(enum logcode f)
(int)(sizeof (int64) * 8));
rprintf(f, " %ssocketpairs, %shardlinks, %ssymlinks, %sIPv6, batchfiles, %sinplace,\n",
got_socketpair, hardlinks, links, ipv6, have_inplace);
(int)(sizeof (int64) * 8));
rprintf(f, " %ssocketpairs, %shardlinks, %ssymlinks, %sIPv6, batchfiles, %sinplace,\n",
got_socketpair, hardlinks, links, ipv6, have_inplace);
@@
-121,7
+121,7
@@
diff --git a/options.c b/options.c
#ifdef MAINTAINER_MODE
rprintf(f, "Panic Action: \"%s\"\n", get_panic_action());
#ifdef MAINTAINER_MODE
rprintf(f, "Panic Action: \"%s\"\n", get_panic_action());
-@@ -35
8,6 +363
,9 @@ void usage(enum logcode F)
+@@ -35
9,6 +364
,9 @@ void usage(enum logcode F)
rprintf(F," --fake-super store/recover privileged attrs using xattrs\n");
#endif
rprintf(F," -S, --sparse handle sparse files efficiently\n");
rprintf(F," --fake-super store/recover privileged attrs using xattrs\n");
#endif
rprintf(F," -S, --sparse handle sparse files efficiently\n");
@@
-131,7
+131,7
@@
diff --git a/options.c b/options.c
rprintf(F," -n, --dry-run perform a trial run with no changes made\n");
rprintf(F," -W, --whole-file copy files whole (without delta-xfer algorithm)\n");
rprintf(F," -x, --one-file-system don't cross filesystem boundaries\n");
rprintf(F," -n, --dry-run perform a trial run with no changes made\n");
rprintf(F," -W, --whole-file copy files whole (without delta-xfer algorithm)\n");
rprintf(F," -x, --one-file-system don't cross filesystem boundaries\n");
-@@ -54
2,6 +550
,7 @@ static struct poptOption long_options[] = {
+@@ -54
3,6 +551
,7 @@ static struct poptOption long_options[] = {
{"sparse", 'S', POPT_ARG_VAL, &sparse_files, 1, 0, 0 },
{"no-sparse", 0, POPT_ARG_VAL, &sparse_files, 0, 0, 0 },
{"no-S", 0, POPT_ARG_VAL, &sparse_files, 0, 0, 0 },
{"sparse", 'S', POPT_ARG_VAL, &sparse_files, 1, 0, 0 },
{"no-sparse", 0, POPT_ARG_VAL, &sparse_files, 0, 0, 0 },
{"no-S", 0, POPT_ARG_VAL, &sparse_files, 0, 0, 0 },
@@
-139,7
+139,7
@@
diff --git a/options.c b/options.c
{"inplace", 0, POPT_ARG_VAL, &inplace, 1, 0, 0 },
{"no-inplace", 0, POPT_ARG_VAL, &inplace, 0, 0, 0 },
{"append", 0, POPT_ARG_NONE, 0, OPT_APPEND, 0, 0 },
{"inplace", 0, POPT_ARG_VAL, &inplace, 1, 0, 0 },
{"no-inplace", 0, POPT_ARG_VAL, &inplace, 0, 0, 0 },
{"append", 0, POPT_ARG_NONE, 0, OPT_APPEND, 0, 0 },
-@@ -206
2,6 +2071
,9 @@ void server_options(char **args, int *argc_p)
+@@ -206
3,6 +2072
,9 @@ void server_options(char **args, int *argc_p)
else if (remove_source_files)
args[ac++] = "--remove-sent-files";
else if (remove_source_files)
args[ac++] = "--remove-sent-files";
@@
-179,27
+179,23
@@
diff --git a/receiver.c b/receiver.c
read_sum_head(f_in, &sum);
read_sum_head(f_in, &sum);
-@@ -285,
8 +298,18
@@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
+@@ -285,
7 +298,15
@@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
goto report_write_error;
#ifdef HAVE_FTRUNCATE
goto report_write_error;
#ifdef HAVE_FTRUNCATE
-- if (inplace && fd != -1)
-- ftruncate(fd, offset);
+- if (inplace && fd != -1
+ /* inplace: New data could be shorter than old data.
+ * preallocate_files: total_size could have been an overestimate.
+ * Cut off any extra preallocated zeros from dest file. */
+ /* inplace: New data could be shorter than old data.
+ * preallocate_files: total_size could have been an overestimate.
+ * Cut off any extra preallocated zeros from dest file. */
-+ if (
(inplace
++ if (
fd != -1
+#ifdef SUPPORT_PREALLOCATION
+#ifdef SUPPORT_PREALLOCATION
-+ || preallocated_len > offset
++ && (inplace || preallocated_len > offset)
++#else
++ && inplace
+#endif
+#endif
-+ ) && fd != -1)
-+ if (ftruncate(fd, offset) < 0)
-+ /* If we fail to truncate, the dest file may be wrong, so we
-+ * must trigger the "partial transfer" error. */
-+ rsyserr(FERROR_XFER, errno, "ftruncate %s", full_fname(fname));
- #endif
-
- if (do_progress)
+ && ftruncate(fd, offset) < 0) {
+ rsyserr(FERROR_XFER, errno, "ftruncate failed on %s",
+ full_fname(fname));
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
@@
-220,7
+216,7
@@
diff --git a/rsync.h b/rsync.h
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -35
2,6 +352
,7 @@ to the detailed description below for a complete description. verb(
+@@ -35
6,6 +356
,7 @@ to the detailed description below for a complete description. verb(
--super receiver attempts super-user activities
--fake-super store/recover privileged attrs using xattrs
-S, --sparse handle sparse files efficiently
--super receiver attempts super-user activities
--fake-super store/recover privileged attrs using xattrs
-S, --sparse handle sparse files efficiently
@@
-228,7
+224,7
@@
diff --git a/rsync.yo b/rsync.yo
-n, --dry-run perform a trial run with no changes made
-W, --whole-file copy files whole (w/o delta-xfer algorithm)
-x, --one-file-system don't cross filesystem boundaries
-n, --dry-run perform a trial run with no changes made
-W, --whole-file copy files whole (w/o delta-xfer algorithm)
-x, --one-file-system don't cross filesystem boundaries
-@@ -10
49,6 +1050
,18 @@ NOTE: Don't use this option when the destination is a Solaris "tmpfs"
+@@ -10
53,6 +1054
,18 @@ NOTE: Don't use this option when the destination is a Solaris "tmpfs"
filesystem. It doesn't seem to handle seeks over null regions
correctly and ends up corrupting the files.
filesystem. It doesn't seem to handle seeks over null regions
correctly and ends up corrupting the files.
diff --git
a/remote-option.diff
b/remote-option.diff
index
80c9575
..
481390d
100644
(file)
--- a/
remote-option.diff
+++ b/
remote-option.diff
@@
-25,7
+25,7
@@
diff --git a/options.c b/options.c
int verbose = 0;
int quiet = 0;
int output_motd = 1;
int verbose = 0;
int quiet = 0;
int output_motd = 1;
-@@ -38
7,6 +391
,7 @@ void usage(enum logcode F)
+@@ -38
8,6 +392
,7 @@ void usage(enum logcode F)
rprintf(F," --timeout=SECONDS set I/O timeout in seconds\n");
rprintf(F," --contimeout=SECONDS set daemon connection timeout in seconds\n");
rprintf(F," -I, --ignore-times don't skip files that match in size and mod-time\n");
rprintf(F," --timeout=SECONDS set I/O timeout in seconds\n");
rprintf(F," --contimeout=SECONDS set daemon connection timeout in seconds\n");
rprintf(F," -I, --ignore-times don't skip files that match in size and mod-time\n");
@@
-33,7
+33,7
@@
diff --git a/options.c b/options.c
rprintf(F," --size-only skip files that match in size\n");
rprintf(F," --modify-window=NUM compare mod-times with reduced accuracy\n");
rprintf(F," -T, --temp-dir=DIR create temporary files in directory DIR\n");
rprintf(F," --size-only skip files that match in size\n");
rprintf(F," --modify-window=NUM compare mod-times with reduced accuracy\n");
rprintf(F," -T, --temp-dir=DIR create temporary files in directory DIR\n");
-@@ -64
5,6 +650
,7 @@ static struct poptOption long_options[] = {
+@@ -64
6,6 +651
,7 @@ static struct poptOption long_options[] = {
{"password-file", 0, POPT_ARG_STRING, &password_file, 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 },
{"password-file", 0, POPT_ARG_STRING, &password_file, 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 },
@@
-41,7
+41,7
@@
diff --git a/options.c b/options.c
{"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 },
{"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 },
{"server", 0, POPT_ARG_NONE, 0, OPT_SERVER, 0, 0 },
{"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 },
{"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 },
{"server", 0, POPT_ARG_NONE, 0, OPT_SERVER, 0, 0 },
-@@ -114
0,6 +1146
,26 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -114
1,6 +1147
,26 @@ int parse_arguments(int *argc_p, const char ***argv_p)
}
break;
}
break;
@@
-68,7
+68,7
@@
diff --git a/options.c b/options.c
case OPT_WRITE_BATCH:
/* batch_name is already set */
write_batch = 1;
case OPT_WRITE_BATCH:
/* batch_name is already set */
write_batch = 1;
-@@ -206
2,6 +2088
,16 @@ void server_options(char **args, int *argc_p)
+@@ -206
3,6 +2089
,16 @@ void server_options(char **args, int *argc_p)
else if (remove_source_files)
args[ac++] = "--remove-sent-files";
else if (remove_source_files)
args[ac++] = "--remove-sent-files";
@@
-116,7
+116,7
@@
diff --git a/pipe.c b/pipe.c
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -41
2,6 +412
,7 @@ to the detailed description below for a complete description. verb(
+@@ -41
6,6 +416
,7 @@ to the detailed description below for a complete description. verb(
--progress show progress during transfer
-P same as --partial --progress
-i, --itemize-changes output a change-summary for all updates
--progress show progress during transfer
-P same as --partial --progress
-i, --itemize-changes output a change-summary for all updates
@@
-124,7
+124,7
@@
diff --git a/rsync.yo b/rsync.yo
--out-format=FORMAT output updates using the specified FORMAT
--log-file=FILE log what we're doing to the specified FILE
--log-file-format=FMT log updates using the specified FMT
--out-format=FORMAT output updates using the specified FORMAT
--log-file=FILE log what we're doing to the specified FILE
--log-file-format=FMT log updates using the specified FMT
-@@ -10
26,16 +1027
,16 @@ This is a good way to backup data without using a super-user, and to store
+@@ -10
30,16 +1031
,16 @@ This is a good way to backup data without using a super-user, and to store
ACLs from incompatible systems.
The bf(--fake-super) option only affects the side where the option is used.
ACLs from incompatible systems.
The bf(--fake-super) option only affects the side where the option is used.
@@
-149,7
+149,7
@@
diff --git a/rsync.yo b/rsync.yo
This option is overridden by both bf(--super) and bf(--no-super).
This option is overridden by both bf(--super) and bf(--no-super).
-@@ -12
88,6 +1289
,36 @@ machine for use with the bf(--relative) option. For instance:
+@@ -12
92,6 +1293
,36 @@ machine for use with the bf(--relative) option. For instance:
quote(tt( rsync -avR --rsync-path="cd /a/b && rsync" host:c/d /e/))
quote(tt( rsync -avR --rsync-path="cd /a/b && rsync" host:c/d /e/))
@@
-186,7
+186,7
@@
diff --git a/rsync.yo b/rsync.yo
dit(bf(-C, --cvs-exclude)) This is a useful shorthand for excluding a
broad range of files that you often don't want to transfer between
systems. It uses a similar algorithm to CVS to determine if
dit(bf(-C, --cvs-exclude)) This is a useful shorthand for excluding a
broad range of files that you often don't want to transfer between
systems. It uses a similar algorithm to CVS to determine if
-@@ -176
4,7 +1795
,7 @@ option if you wish to override this.
+@@ -176
8,7 +1799
,7 @@ option if you wish to override this.
Here's a example command that requests the remote side to log what is
happening:
Here's a example command that requests the remote side to log what is
happening:
diff --git
a/slow-down.diff
b/slow-down.diff
index
b78c871
..
13773c3
100644
(file)
--- a/
slow-down.diff
+++ b/
slow-down.diff
@@
-25,7
+25,7
@@
diff --git a/flist.c b/flist.c
extern struct stats stats;
extern char *filesfrom_host;
extern struct stats stats;
extern char *filesfrom_host;
-@@ -16
48,6 +1649
,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len,
+@@ -16
29,6 +1630
,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len,
}
send_file_name(f, flist, fbuf, NULL, flags, filter_level);
}
send_file_name(f, flist, fbuf, NULL, flags, filter_level);
@@
-46,7
+46,7
@@
diff --git a/options.c b/options.c
size_t bwlimit_writemax = 0;
int ignore_existing = 0;
int ignore_non_existing = 0;
size_t bwlimit_writemax = 0;
int ignore_existing = 0;
int ignore_non_existing = 0;
-@@ -42
4,6 +425
,7 @@ void usage(enum logcode F)
+@@ -42
5,6 +426
,7 @@ void usage(enum logcode F)
rprintf(F," --password-file=FILE read daemon-access password from FILE\n");
rprintf(F," --list-only list the files instead of copying them\n");
rprintf(F," --bwlimit=KBPS limit I/O bandwidth; KBytes per second\n");
rprintf(F," --password-file=FILE read daemon-access password from FILE\n");
rprintf(F," --list-only list the files instead of copying them\n");
rprintf(F," --bwlimit=KBPS limit I/O bandwidth; KBytes per second\n");
@@
-54,7
+54,7
@@
diff --git a/options.c b/options.c
rprintf(F," --write-batch=FILE write a batched update to FILE\n");
rprintf(F," --only-write-batch=FILE like --write-batch but w/o updating destination\n");
rprintf(F," --read-batch=FILE read a batched update from FILE\n");
rprintf(F," --write-batch=FILE write a batched update to FILE\n");
rprintf(F," --only-write-batch=FILE like --write-batch but w/o updating destination\n");
rprintf(F," --read-batch=FILE read a batched update from FILE\n");
-@@ -60
4,6 +606
,7 @@ static struct poptOption long_options[] = {
+@@ -60
5,6 +607
,7 @@ static struct poptOption long_options[] = {
{"itemize-changes", 'i', POPT_ARG_NONE, 0, 'i', 0, 0 },
{"no-itemize-changes",0, POPT_ARG_VAL, &itemize_changes, 0, 0, 0 },
{"no-i", 0, POPT_ARG_VAL, &itemize_changes, 0, 0, 0 },
{"itemize-changes", 'i', POPT_ARG_NONE, 0, 'i', 0, 0 },
{"no-itemize-changes",0, POPT_ARG_VAL, &itemize_changes, 0, 0, 0 },
{"no-i", 0, POPT_ARG_VAL, &itemize_changes, 0, 0, 0 },
diff --git
a/slp.diff
b/slp.diff
index
e4678ce
..
6c6bc4e
100644
(file)
--- a/
slp.diff
+++ b/
slp.diff
@@
-43,7
+43,7
@@
diff --git a/Makefile.in b/Makefile.in
diff --git a/clientserver.c b/clientserver.c
--- a/clientserver.c
+++ b/clientserver.c
diff --git a/clientserver.c b/clientserver.c
--- a/clientserver.c
+++ b/clientserver.c
-@@ -106
0,6 +1060
,13 @@ int daemon_main(void)
+@@ -106
4,6 +1064
,13 @@ int daemon_main(void)
* address too. In fact, why not just do inet_ntop on the
* local address??? */
* address too. In fact, why not just do inet_ntop on the
* local address??? */
@@
-156,7
+156,7
@@
diff --git a/options.c b/options.c
STRUCT_STAT *dumstat;
#if SUBPROTOCOL_VERSION != 0
STRUCT_STAT *dumstat;
#if SUBPROTOCOL_VERSION != 0
-@@ -25
7,6 +258
,9 @@ static void print_rsync_version(enum logcode f)
+@@ -25
8,6 +259
,9 @@ static void print_rsync_version(enum logcode f)
#if defined HAVE_LUTIMES && defined HAVE_UTIMES
symtimes = "";
#endif
#if defined HAVE_LUTIMES && defined HAVE_UTIMES
symtimes = "";
#endif
@@
-166,7
+166,7
@@
diff --git a/options.c b/options.c
rprintf(f, "%s version %s protocol version %d%s\n",
RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
rprintf(f, "%s version %s protocol version %d%s\n",
RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
-@@ -27
0,8 +274
,8 @@ static void print_rsync_version(enum logcode f)
+@@ -27
1,8 +275
,8 @@ static void print_rsync_version(enum logcode f)
(int)(sizeof (int64) * 8));
rprintf(f, " %ssocketpairs, %shardlinks, %ssymlinks, %sIPv6, batchfiles, %sinplace,\n",
got_socketpair, hardlinks, links, ipv6, have_inplace);
(int)(sizeof (int64) * 8));
rprintf(f, " %ssocketpairs, %shardlinks, %ssymlinks, %sIPv6, batchfiles, %sinplace,\n",
got_socketpair, hardlinks, links, ipv6, have_inplace);
@@
-194,7
+194,7
@@
diff --git a/rsync.h b/rsync.h
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -14
4,7 +144
,12 @@ particular rsync daemon by leaving off the module name:
+@@ -14
8,7 +148
,12 @@ particular rsync daemon by leaving off the module name:
quote(tt(rsync somehost.mydomain.com::))
quote(tt(rsync somehost.mydomain.com::))
diff --git
a/source-backup.diff
b/source-backup.diff
index
58cae93
..
38386fb
100644
(file)
--- a/
source-backup.diff
+++ b/
source-backup.diff
@@
-20,7
+20,7
@@
diff --git a/options.c b/options.c
/**
* If 1, send the whole file as literal data rather than trying to
/**
* If 1, send the whole file as literal data rather than trying to
-@@ -36
7,6 +368
,7 @@ void usage(enum logcode F)
+@@ -36
8,6 +369
,7 @@ void usage(enum logcode F)
rprintf(F," --existing skip creating new files on receiver\n");
rprintf(F," --ignore-existing skip updating files that already exist on receiver\n");
rprintf(F," --remove-source-files sender removes synchronized files (non-dirs)\n");
rprintf(F," --existing skip creating new files on receiver\n");
rprintf(F," --ignore-existing skip updating files that already exist on receiver\n");
rprintf(F," --remove-source-files sender removes synchronized files (non-dirs)\n");
@@
-28,7
+28,7
@@
diff --git a/options.c b/options.c
rprintf(F," --del an alias for --delete-during\n");
rprintf(F," --delete delete extraneous files from destination dirs\n");
rprintf(F," --delete-before receiver deletes before transfer, not during\n");
rprintf(F," --del an alias for --delete-during\n");
rprintf(F," --delete delete extraneous files from destination dirs\n");
rprintf(F," --delete-before receiver deletes before transfer, not during\n");
-@@ -60
7,6 +609
,7 @@ static struct poptOption long_options[] = {
+@@ -60
8,6 +610
,7 @@ static struct poptOption long_options[] = {
{"bwlimit", 0, POPT_ARG_INT, &bwlimit, 0, 0, 0 },
{"no-bwlimit", 0, POPT_ARG_VAL, &bwlimit, 0, 0, 0 },
{"backup", 'b', POPT_ARG_VAL, &make_backups, 1, 0, 0 },
{"bwlimit", 0, POPT_ARG_INT, &bwlimit, 0, 0, 0 },
{"no-bwlimit", 0, POPT_ARG_VAL, &bwlimit, 0, 0, 0 },
{"backup", 'b', POPT_ARG_VAL, &make_backups, 1, 0, 0 },
@@
-36,7
+36,7
@@
diff --git a/options.c b/options.c
{"no-backup", 0, POPT_ARG_VAL, &make_backups, 0, 0, 0 },
{"backup-dir", 0, POPT_ARG_STRING, &backup_dir, 0, 0, 0 },
{"suffix", 0, POPT_ARG_STRING, &backup_suffix, 0, 0, 0 },
{"no-backup", 0, POPT_ARG_VAL, &make_backups, 0, 0, 0 },
{"backup-dir", 0, POPT_ARG_STRING, &backup_dir, 0, 0, 0 },
{"suffix", 0, POPT_ARG_STRING, &backup_suffix, 0, 0, 0 },
-@@ -196
6,6 +1969
,8 @@ void server_options(char **args, int *argc_p)
+@@ -196
7,6 +1970
,8 @@ void server_options(char **args, int *argc_p)
goto oom;
args[ac++] = arg;
}
goto oom;
args[ac++] = arg;
}
@@
-48,7
+48,7
@@
diff --git a/options.c b/options.c
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -36
1,6 +361
,7 @@ to the detailed description below for a complete description. verb(
+@@ -36
5,6 +365
,7 @@ to the detailed description below for a complete description. verb(
--existing skip creating new files on receiver
--ignore-existing skip updating files that exist on receiver
--remove-source-files sender removes synchronized files (non-dir)
--existing skip creating new files on receiver
--ignore-existing skip updating files that exist on receiver
--remove-source-files sender removes synchronized files (non-dir)
@@
-56,7
+56,7
@@
diff --git a/rsync.yo b/rsync.yo
--del an alias for --delete-during
--delete delete extraneous files from dest dirs
--delete-before receiver deletes before transfer (default)
--del an alias for --delete-during
--delete delete extraneous files from dest dirs
--delete-before receiver deletes before transfer (default)
-@@ -111
1,6 +1112
,14 @@ dit(bf(--remove-source-files)) This tells rsync to remove from the sending
+@@ -111
5,6 +1116
,14 @@ dit(bf(--remove-source-files)) This tells rsync to remove from the sending
side the files (meaning non-directories) that are a part of the transfer
and have been successfully duplicated on the receiving side.
side the files (meaning non-directories) that are a part of the transfer
and have been successfully duplicated on the receiving side.
diff --git
a/source-filter_dest-filter.diff
b/source-filter_dest-filter.diff
index
a080ccc
..
684186e
100644
(file)
--- a/
source-filter_dest-filter.diff
+++ b/
source-filter_dest-filter.diff
@@
-41,7
+41,7
@@
diff --git a/generator.c b/generator.c
extern int size_only;
extern OFF_T max_size;
extern OFF_T min_size;
extern int size_only;
extern OFF_T max_size;
extern OFF_T min_size;
-@@ -71
4,7 +715
,7 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -71
7,7 +718
,7 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
/* Perform our quick-check heuristic for determining if a file is unchanged. */
int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
{
/* Perform our quick-check heuristic for determining if a file is unchanged. */
int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
{
@@
-82,7
+82,7
@@
diff --git a/options.c b/options.c
char *rsync_path = RSYNC_PATH;
char *backup_dir = NULL;
char backup_dir_buf[MAXPATHLEN];
char *rsync_path = RSYNC_PATH;
char *backup_dir = NULL;
char backup_dir_buf[MAXPATHLEN];
-@@ -38
8,6 +391
,7 @@ void usage(enum logcode F)
+@@ -38
9,6 +392
,7 @@ void usage(enum logcode F)
rprintf(F," --contimeout=SECONDS set daemon connection timeout in seconds\n");
rprintf(F," -I, --ignore-times don't skip files that match in size and mod-time\n");
rprintf(F," --size-only skip files that match in size\n");
rprintf(F," --contimeout=SECONDS set daemon connection timeout in seconds\n");
rprintf(F," -I, --ignore-times don't skip files that match in size and mod-time\n");
rprintf(F," --size-only skip files that match in size\n");
@@
-90,7
+90,7
@@
diff --git a/options.c b/options.c
rprintf(F," --modify-window=NUM compare mod-times with reduced accuracy\n");
rprintf(F," -T, --temp-dir=DIR create temporary files in directory DIR\n");
rprintf(F," -y, --fuzzy find similar file for basis if no dest file\n");
rprintf(F," --modify-window=NUM compare mod-times with reduced accuracy\n");
rprintf(F," -T, --temp-dir=DIR create temporary files in directory DIR\n");
rprintf(F," -y, --fuzzy find similar file for basis if no dest file\n");
-@@ -42
7,6 +431
,8 @@ void usage(enum logcode F)
+@@ -42
8,6 +432
,8 @@ void usage(enum logcode F)
rprintf(F," --write-batch=FILE write a batched update to FILE\n");
rprintf(F," --only-write-batch=FILE like --write-batch but w/o updating destination\n");
rprintf(F," --read-batch=FILE read a batched update from FILE\n");
rprintf(F," --write-batch=FILE write a batched update to FILE\n");
rprintf(F," --only-write-batch=FILE like --write-batch but w/o updating destination\n");
rprintf(F," --read-batch=FILE read a batched update from FILE\n");
@@
-99,7
+99,7
@@
diff --git a/options.c b/options.c
rprintf(F," --protocol=NUM force an older protocol version to be used\n");
#ifdef ICONV_OPTION
rprintf(F," --iconv=CONVERT_SPEC request charset conversion of filenames\n");
rprintf(F," --protocol=NUM force an older protocol version to be used\n");
#ifdef ICONV_OPTION
rprintf(F," --iconv=CONVERT_SPEC request charset conversion of filenames\n");
-@@ -53
0,6 +536
,7 @@ static struct poptOption long_options[] = {
+@@ -53
1,6 +537
,7 @@ static struct poptOption long_options[] = {
{"chmod", 0, POPT_ARG_STRING, 0, OPT_CHMOD, 0, 0 },
{"ignore-times", 'I', POPT_ARG_NONE, &ignore_times, 0, 0, 0 },
{"size-only", 0, POPT_ARG_NONE, &size_only, 0, 0, 0 },
{"chmod", 0, POPT_ARG_STRING, 0, OPT_CHMOD, 0, 0 },
{"ignore-times", 'I', POPT_ARG_NONE, &ignore_times, 0, 0, 0 },
{"size-only", 0, POPT_ARG_NONE, &size_only, 0, 0, 0 },
@@
-107,7
+107,7
@@
diff --git a/options.c b/options.c
{"one-file-system", 'x', POPT_ARG_NONE, 0, 'x', 0, 0 },
{"no-one-file-system",'x',POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
{"no-x", 'x', POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
{"one-file-system", 'x', POPT_ARG_NONE, 0, 'x', 0, 0 },
{"no-one-file-system",'x',POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
{"no-x", 'x', POPT_ARG_VAL, &one_file_system, 0, 0, 0 },
-@@ -64
5,6 +652
,8 @@ static struct poptOption long_options[] = {
+@@ -64
6,6 +653
,8 @@ static struct poptOption long_options[] = {
{"password-file", 0, POPT_ARG_STRING, &password_file, 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 },
{"password-file", 0, POPT_ARG_STRING, &password_file, 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 },
@@
-116,7
+116,7
@@
diff --git a/options.c b/options.c
{"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 },
{"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 },
{"server", 0, POPT_ARG_NONE, 0, OPT_SERVER, 0, 0 },
{"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 },
{"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 },
{"server", 0, POPT_ARG_NONE, 0, OPT_SERVER, 0, 0 },
-@@ -163
4,6 +1643
,16 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -163
5,6 +1644
,16 @@ int parse_arguments(int *argc_p, const char ***argv_p)
}
}
}
}
@@
-133,7
+133,7
@@
diff --git a/options.c b/options.c
if (files_from) {
char *h, *p;
int q;
if (files_from) {
char *h, *p;
int q;
-@@ -196
8,6 +1987
,25 @@ void server_options(char **args, int *argc_p)
+@@ -196
9,6 +1988
,25 @@ void server_options(char **args, int *argc_p)
}
}
}
}
@@
-251,7
+251,7
@@
diff --git a/receiver.c b/receiver.c
extern char *partial_dir;
extern char *basis_dir[];
extern struct file_list *cur_flist, *first_flist, *dir_flist;
extern char *partial_dir;
extern char *basis_dir[];
extern struct file_list *cur_flist, *first_flist, *dir_flist;
-@@ -43
0,6 +431
,8 @@ int recv_files(int f_in, char *local_name)
+@@ -43
3,6 +434
,8 @@ int recv_files(int f_in, char *local_name)
const char *parent_dirname = "";
#endif
int ndx, recv_ok;
const char *parent_dirname = "";
#endif
int ndx, recv_ok;
@@
-260,7
+260,7
@@
diff --git a/receiver.c b/receiver.c
if (verbose > 2)
rprintf(FINFO, "recv_files(%d) starting\n", cur_flist->used);
if (verbose > 2)
rprintf(FINFO, "recv_files(%d) starting\n", cur_flist->used);
-@@ -4
37,6 +440
,23 @@ int recv_files(int f_in, char *local_name)
+@@ -4
40,6 +443
,23 @@ int recv_files(int f_in, char *local_name)
if (delay_updates)
delayed_bits = bitbag_create(cur_flist->used + 1);
if (delay_updates)
delayed_bits = bitbag_create(cur_flist->used + 1);
@@
-284,7
+284,7
@@
diff --git a/receiver.c b/receiver.c
while (1) {
cleanup_disable();
while (1) {
cleanup_disable();
-@@ -70
3,6 +723
,9 @@ int recv_files(int f_in, char *local_name)
+@@ -70
6,6 +726
,9 @@ int recv_files(int f_in, char *local_name)
else if (!am_server && verbose && do_progress)
rprintf(FINFO, "%s\n", fname);
else if (!am_server && verbose && do_progress)
rprintf(FINFO, "%s\n", fname);
@@
-294,7
+294,7
@@
diff --git a/receiver.c b/receiver.c
/* recv file data */
recv_ok = receive_data(f_in, fnamecmp, fd1, st.st_size,
fname, fd2, F_LENGTH(file));
/* recv file data */
recv_ok = receive_data(f_in, fnamecmp, fd1, st.st_size,
fname, fd2, F_LENGTH(file));
-@@ -7
17,6 +740
,16 @@ int recv_files(int f_in, char *local_name)
+@@ -7
20,6 +743
,16 @@ int recv_files(int f_in, char *local_name)
exit_cleanup(RERR_FILEIO);
}
exit_cleanup(RERR_FILEIO);
}
@@
-325,7
+325,7
@@
diff --git a/rsync.h b/rsync.h
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -38
2,6 +382
,7 @@ to the detailed description below for a complete description. verb(
+@@ -38
6,6 +386
,7 @@ to the detailed description below for a complete description. verb(
--contimeout=SECONDS set daemon connection timeout in seconds
-I, --ignore-times don't skip files that match size and time
--size-only skip files that match in size
--contimeout=SECONDS set daemon connection timeout in seconds
-I, --ignore-times don't skip files that match size and time
--size-only skip files that match in size
@@
-333,7
+333,7
@@
diff --git a/rsync.yo b/rsync.yo
--modify-window=NUM compare mod-times with reduced accuracy
-T, --temp-dir=DIR create temporary files in directory DIR
-y, --fuzzy find similar file for basis if no dest file
--modify-window=NUM compare mod-times with reduced accuracy
-T, --temp-dir=DIR create temporary files in directory DIR
-y, --fuzzy find similar file for basis if no dest file
-@@ -42
1,6 +422
,8 @@ to the detailed description below for a complete description. verb(
+@@ -42
5,6 +426
,8 @@ to the detailed description below for a complete description. verb(
--write-batch=FILE write a batched update to FILE
--only-write-batch=FILE like --write-batch but w/o updating dest
--read-batch=FILE read a batched update from FILE
--write-batch=FILE write a batched update to FILE
--only-write-batch=FILE like --write-batch but w/o updating dest
--read-batch=FILE read a batched update from FILE
@@
-342,7
+342,7
@@
diff --git a/rsync.yo b/rsync.yo
--protocol=NUM force an older protocol version to be used
--iconv=CONVERT_SPEC request charset conversion of filenames
--checksum-seed=NUM set block/file checksum seed (advanced)
--protocol=NUM force an older protocol version to be used
--iconv=CONVERT_SPEC request charset conversion of filenames
--checksum-seed=NUM set block/file checksum seed (advanced)
-@@ -205
1,6 +2054
,33 @@ file previously generated by bf(--write-batch).
+@@ -205
5,6 +2058
,33 @@ file previously generated by bf(--write-batch).
If em(FILE) is bf(-), the batch data will be read from standard input.
See the "BATCH MODE" section for details.
If em(FILE) is bf(-), the batch data will be read from standard input.
See the "BATCH MODE" section for details.
diff --git
a/sparse-block.diff
b/sparse-block.diff
index
aa11420
..
88f6110
100644
(file)
--- a/
sparse-block.diff
+++ b/
sparse-block.diff
@@
-28,8
+28,8
@@
diff --git a/fileio.c b/fileio.c
+extern long sparse_files_block_size;
static char last_byte;
+extern long sparse_files_block_size;
static char last_byte;
- static
size_t
sparse_seek = 0;
-@@ -115,7 +116,7 @@ int write_file(int f,
char *buf,size_
t len)
+ static
OFF_T
sparse_seek = 0;
+@@ -115,7 +116,7 @@ int write_file(int f,
char *buf, in
t len)
while (len > 0) {
int r1;
if (sparse_files > 0) {
while (len > 0) {
int r1;
if (sparse_files > 0) {
@@
-49,7
+49,7
@@
diff --git a/options.c b/options.c
int do_compression = 0;
int def_compress_level = Z_DEFAULT_COMPRESSION;
int am_root = 0; /* 0 = normal, 1 = root, 2 = --super, -1 = --fake-super */
int do_compression = 0;
int def_compress_level = Z_DEFAULT_COMPRESSION;
int am_root = 0; /* 0 = normal, 1 = root, 2 = --super, -1 = --fake-super */
-@@ -35
8,6 +359
,7 @@ void usage(enum logcode F)
+@@ -35
9,6 +360
,7 @@ void usage(enum logcode F)
rprintf(F," --fake-super store/recover privileged attrs using xattrs\n");
#endif
rprintf(F," -S, --sparse handle sparse files efficiently\n");
rprintf(F," --fake-super store/recover privileged attrs using xattrs\n");
#endif
rprintf(F," -S, --sparse handle sparse files efficiently\n");
@@
-57,7
+57,7
@@
diff --git a/options.c b/options.c
rprintf(F," -n, --dry-run perform a trial run with no changes made\n");
rprintf(F," -W, --whole-file copy files whole (without delta-xfer algorithm)\n");
rprintf(F," -x, --one-file-system don't cross filesystem boundaries\n");
rprintf(F," -n, --dry-run perform a trial run with no changes made\n");
rprintf(F," -W, --whole-file copy files whole (without delta-xfer algorithm)\n");
rprintf(F," -x, --one-file-system don't cross filesystem boundaries\n");
-@@ -54
2,6 +544
,7 @@ static struct poptOption long_options[] = {
+@@ -54
3,6 +545
,7 @@ static struct poptOption long_options[] = {
{"sparse", 'S', POPT_ARG_VAL, &sparse_files, 1, 0, 0 },
{"no-sparse", 0, POPT_ARG_VAL, &sparse_files, 0, 0, 0 },
{"no-S", 0, POPT_ARG_VAL, &sparse_files, 0, 0, 0 },
{"sparse", 'S', POPT_ARG_VAL, &sparse_files, 1, 0, 0 },
{"no-sparse", 0, POPT_ARG_VAL, &sparse_files, 0, 0, 0 },
{"no-S", 0, POPT_ARG_VAL, &sparse_files, 0, 0, 0 },
@@
-65,7
+65,7
@@
diff --git a/options.c b/options.c
{"inplace", 0, POPT_ARG_VAL, &inplace, 1, 0, 0 },
{"no-inplace", 0, POPT_ARG_VAL, &inplace, 0, 0, 0 },
{"append", 0, POPT_ARG_NONE, 0, OPT_APPEND, 0, 0 },
{"inplace", 0, POPT_ARG_VAL, &inplace, 1, 0, 0 },
{"no-inplace", 0, POPT_ARG_VAL, &inplace, 0, 0, 0 },
{"append", 0, POPT_ARG_NONE, 0, OPT_APPEND, 0, 0 },
-@@ -190
0,6 +1903
,12 @@ void server_options(char **args, int *argc_p)
+@@ -190
1,6 +1904
,12 @@ void server_options(char **args, int *argc_p)
args[ac++] = arg;
}
args[ac++] = arg;
}
@@
-81,7
+81,7
@@
diff --git a/options.c b/options.c
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -35
2,6 +352
,7 @@ to the detailed description below for a complete description. verb(
+@@ -35
6,6 +356
,7 @@ to the detailed description below for a complete description. verb(
--super receiver attempts super-user activities
--fake-super store/recover privileged attrs using xattrs
-S, --sparse handle sparse files efficiently
--super receiver attempts super-user activities
--fake-super store/recover privileged attrs using xattrs
-S, --sparse handle sparse files efficiently
@@
-89,7
+89,7
@@
diff --git a/rsync.yo b/rsync.yo
-n, --dry-run perform a trial run with no changes made
-W, --whole-file copy files whole (w/o delta-xfer algorithm)
-x, --one-file-system don't cross filesystem boundaries
-n, --dry-run perform a trial run with no changes made
-W, --whole-file copy files whole (w/o delta-xfer algorithm)
-x, --one-file-system don't cross filesystem boundaries
-@@ -10
49,6 +1050
,15 @@ NOTE: Don't use this option when the destination is a Solaris "tmpfs"
+@@ -10
53,6 +1054
,15 @@ NOTE: Don't use this option when the destination is a Solaris "tmpfs"
filesystem. It doesn't seem to handle seeks over null regions
correctly and ends up corrupting the files.
filesystem. It doesn't seem to handle seeks over null regions
correctly and ends up corrupting the files.
diff --git
a/stdout.diff
b/stdout.diff
index
87e7a66
..
143c34f
100644
(file)
--- a/
stdout.diff
+++ b/
stdout.diff
@@
-18,7
+18,7
@@
diff --git a/options.c b/options.c
static char *max_size_arg, *min_size_arg;
static char tmp_partialdir[] = ".~tmp~";
static char *max_size_arg, *min_size_arg;
static char tmp_partialdir[] = ".~tmp~";
-@@ -42
4,6 +425
,7 @@ void usage(enum logcode F)
+@@ -42
5,6 +426
,7 @@ void usage(enum logcode F)
rprintf(F," --password-file=FILE read daemon-access password from FILE\n");
rprintf(F," --list-only list the files instead of copying them\n");
rprintf(F," --bwlimit=KBPS limit I/O bandwidth; KBytes per second\n");
rprintf(F," --password-file=FILE read daemon-access password from FILE\n");
rprintf(F," --list-only list the files instead of copying them\n");
rprintf(F," --bwlimit=KBPS limit I/O bandwidth; KBytes per second\n");
@@
-26,7
+26,7
@@
diff --git a/options.c b/options.c
rprintf(F," --write-batch=FILE write a batched update to FILE\n");
rprintf(F," --only-write-batch=FILE like --write-batch but w/o updating destination\n");
rprintf(F," --read-batch=FILE read a batched update from FILE\n");
rprintf(F," --write-batch=FILE write a batched update to FILE\n");
rprintf(F," --only-write-batch=FILE like --write-batch but w/o updating destination\n");
rprintf(F," --read-batch=FILE read a batched update from FILE\n");
-@@ -64
5,6 +647
,7 @@ static struct poptOption long_options[] = {
+@@ -64
6,6 +648
,7 @@ static struct poptOption long_options[] = {
{"password-file", 0, POPT_ARG_STRING, &password_file, 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 },
{"password-file", 0, POPT_ARG_STRING, &password_file, 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 },
@@
-34,7
+34,7
@@
diff --git a/options.c b/options.c
{"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 },
{"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 },
{"server", 0, POPT_ARG_NONE, 0, OPT_SERVER, 0, 0 },
{"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 },
{"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 },
{"server", 0, POPT_ARG_NONE, 0, OPT_SERVER, 0, 0 },
-@@ -127
5,6 +1278
,13 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -127
6,6 +1279
,13 @@ int parse_arguments(int *argc_p, const char ***argv_p)
}
}
}
}
diff --git
a/time-limit.diff
b/time-limit.diff
index
b29d8e7
..
e0b0ce9
100644
(file)
--- a/
time-limit.diff
+++ b/
time-limit.diff
@@
-59,7
+59,7
@@
diff --git a/options.c b/options.c
int max_delete = INT_MIN;
OFF_T max_size = 0;
OFF_T min_size = 0;
int max_delete = INT_MIN;
OFF_T max_size = 0;
OFF_T min_size = 0;
-@@ -42
4,6 +425
,8 @@ void usage(enum logcode F)
+@@ -42
5,6 +426
,8 @@ void usage(enum logcode F)
rprintf(F," --password-file=FILE read daemon-access password from FILE\n");
rprintf(F," --list-only list the files instead of copying them\n");
rprintf(F," --bwlimit=KBPS limit I/O bandwidth; KBytes per second\n");
rprintf(F," --password-file=FILE read daemon-access password from FILE\n");
rprintf(F," --list-only list the files instead of copying them\n");
rprintf(F," --bwlimit=KBPS limit I/O bandwidth; KBytes per second\n");
@@
-68,7
+68,7
@@
diff --git a/options.c b/options.c
rprintf(F," --write-batch=FILE write a batched update to FILE\n");
rprintf(F," --only-write-batch=FILE like --write-batch but w/o updating destination\n");
rprintf(F," --read-batch=FILE read a batched update from FILE\n");
rprintf(F," --write-batch=FILE write a batched update to FILE\n");
rprintf(F," --only-write-batch=FILE like --write-batch but w/o updating destination\n");
rprintf(F," --read-batch=FILE read a batched update from FILE\n");
-@@ -44
6,7 +449
,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
+@@ -44
7,7 +450
,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
OPT_FILTER, OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_HELP,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD,
OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE,
OPT_FILTER, OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_HELP,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD,
OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE,
@@
-77,7
+77,7
@@
diff --git a/options.c b/options.c
OPT_SERVER, OPT_REFUSED_BASE = 9000};
static struct poptOption long_options[] = {
OPT_SERVER, OPT_REFUSED_BASE = 9000};
static struct poptOption long_options[] = {
-@@ -62
6,6 +629
,8 @@ static struct poptOption long_options[] = {
+@@ -62
7,6 +630
,8 @@ static struct poptOption long_options[] = {
{"no-timeout", 0, POPT_ARG_VAL, &io_timeout, 0, 0, 0 },
{"contimeout", 0, POPT_ARG_INT, &connect_timeout, 0, 0, 0 },
{"no-contimeout", 0, POPT_ARG_VAL, &connect_timeout, 0, 0, 0 },
{"no-timeout", 0, POPT_ARG_VAL, &io_timeout, 0, 0, 0 },
{"contimeout", 0, POPT_ARG_INT, &connect_timeout, 0, 0, 0 },
{"no-contimeout", 0, POPT_ARG_VAL, &connect_timeout, 0, 0, 0 },
@@
-86,7
+86,7
@@
diff --git a/options.c b/options.c
{"rsh", 'e', POPT_ARG_STRING, &shell_cmd, 0, 0, 0 },
{"rsync-path", 0, POPT_ARG_STRING, &rsync_path, 0, 0, 0 },
{"temp-dir", 'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 },
{"rsh", 'e', POPT_ARG_STRING, &shell_cmd, 0, 0, 0 },
{"rsync-path", 0, POPT_ARG_STRING, &rsync_path, 0, 0, 0 },
{"temp-dir", 'T', POPT_ARG_STRING, &tmpdir, 0, 0, 0 },
-@@ -126
0,6 +1265
,36 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -126
1,6 +1266
,36 @@ int parse_arguments(int *argc_p, const char ***argv_p)
return 0;
#endif
return 0;
#endif
@@
-123,7
+123,7
@@
diff --git a/options.c b/options.c
default:
/* A large opt value means that set_refuse_options()
* turned this option off. */
default:
/* A large opt value means that set_refuse_options()
* turned this option off. */
-@@ -191
2,6 +1947
,15 @@ void server_options(char **args, int *argc_p)
+@@ -191
3,6 +1948
,15 @@ void server_options(char **args, int *argc_p)
args[ac++] = arg;
}
args[ac++] = arg;
}
@@
-142,7
+142,7
@@
diff --git a/options.c b/options.c
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -4
18,6 +418
,8 @@ to the detailed description below for a complete description. verb(
+@@ -4
22,6 +422
,8 @@ to the detailed description below for a complete description. verb(
--password-file=FILE read daemon-access password from FILE
--list-only list the files instead of copying them
--bwlimit=KBPS limit I/O bandwidth; KBytes per second
--password-file=FILE read daemon-access password from FILE
--list-only list the files instead of copying them
--bwlimit=KBPS limit I/O bandwidth; KBytes per second
@@
-151,7
+151,7
@@
diff --git a/rsync.yo b/rsync.yo
--write-batch=FILE write a batched update to FILE
--only-write-batch=FILE like --write-batch but w/o updating dest
--read-batch=FILE read a batched update from FILE
--write-batch=FILE write a batched update to FILE
--only-write-batch=FILE like --write-batch but w/o updating dest
--read-batch=FILE read a batched update from FILE
-@@ -202
5,6 +2027
,19 @@ transfer was too fast, it will wait before sending the next data block. The
+@@ -202
9,6 +2031
,19 @@ transfer was too fast, it will wait before sending the next data block. The
result is an average transfer rate equaling the specified limit. A value
of zero specifies no limit.
result is an average transfer rate equaling the specified limit. A value
of zero specifies no limit.
diff --git
a/transliterate.diff
b/transliterate.diff
index
88a62f7
..
68bc269
100644
(file)
--- a/
transliterate.diff
+++ b/
transliterate.diff
@@
-73,7
+73,7
@@
diff --git a/options.c b/options.c
#define MAX_BATCH_NAME_LEN 256 /* Must be less than MAXPATHLEN-13 */
char *batch_name = NULL;
#define MAX_BATCH_NAME_LEN 256 /* Must be less than MAXPATHLEN-13 */
char *batch_name = NULL;
-@@ -43
1,6 +433
,7 @@ void usage(enum logcode F)
+@@ -43
2,6 +434
,7 @@ void usage(enum logcode F)
#ifdef ICONV_OPTION
rprintf(F," --iconv=CONVERT_SPEC request charset conversion of filenames\n");
#endif
#ifdef ICONV_OPTION
rprintf(F," --iconv=CONVERT_SPEC request charset conversion of filenames\n");
#endif
@@
-81,7
+81,7
@@
diff --git a/options.c b/options.c
rprintf(F," -4, --ipv4 prefer IPv4\n");
rprintf(F," -6, --ipv6 prefer IPv6\n");
rprintf(F," --version print version number\n");
rprintf(F," -4, --ipv4 prefer IPv4\n");
rprintf(F," -6, --ipv6 prefer IPv6\n");
rprintf(F," --version print version number\n");
-@@ -63
3,6 +636
,7 @@ static struct poptOption long_options[] = {
+@@ -63
4,6 +637
,7 @@ static struct poptOption long_options[] = {
{"iconv", 0, POPT_ARG_STRING, &iconv_opt, 0, 0, 0 },
{"no-iconv", 0, POPT_ARG_NONE, 0, OPT_NO_ICONV, 0, 0 },
#endif
{"iconv", 0, POPT_ARG_STRING, &iconv_opt, 0, 0, 0 },
{"no-iconv", 0, POPT_ARG_NONE, 0, OPT_NO_ICONV, 0, 0 },
#endif
@@
-89,7
+89,7
@@
diff --git a/options.c b/options.c
{"ipv4", '4', POPT_ARG_VAL, &default_af_hint, AF_INET, 0, 0 },
{"ipv6", '6', POPT_ARG_VAL, &default_af_hint, AF_INET6, 0, 0 },
{"8-bit-output", '8', POPT_ARG_VAL, &allow_8bit_chars, 1, 0, 0 },
{"ipv4", '4', POPT_ARG_VAL, &default_af_hint, AF_INET, 0, 0 },
{"ipv6", '6', POPT_ARG_VAL, &default_af_hint, AF_INET6, 0, 0 },
{"8-bit-output", '8', POPT_ARG_VAL, &allow_8bit_chars, 1, 0, 0 },
-@@ -168
0,6 +1684
,31 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -168
1,6 +1685
,31 @@ int parse_arguments(int *argc_p, const char ***argv_p)
}
}
}
}
@@
-121,7
+121,7
@@
diff --git a/options.c b/options.c
am_starting_up = 0;
return 1;
am_starting_up = 0;
return 1;
-@@ -206
2,6 +2091
,12 @@ void server_options(char **args, int *argc_p)
+@@ -206
3,6 +2092
,12 @@ void server_options(char **args, int *argc_p)
else if (remove_source_files)
args[ac++] = "--remove-sent-files";
else if (remove_source_files)
args[ac++] = "--remove-sent-files";
@@
-137,7
+137,7
@@
diff --git a/options.c b/options.c
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -42
3,6 +423
,7 @@ to the detailed description below for a complete description. verb(
+@@ -42
7,6 +427
,7 @@ to the detailed description below for a complete description. verb(
--read-batch=FILE read a batched update from FILE
--protocol=NUM force an older protocol version to be used
--iconv=CONVERT_SPEC request charset conversion of filenames
--read-batch=FILE read a batched update from FILE
--protocol=NUM force an older protocol version to be used
--iconv=CONVERT_SPEC request charset conversion of filenames
@@
-145,7
+145,7
@@
diff --git a/rsync.yo b/rsync.yo
--checksum-seed=NUM set block/file checksum seed (advanced)
-4, --ipv4 prefer IPv4
-6, --ipv6 prefer IPv6
--checksum-seed=NUM set block/file checksum seed (advanced)
-4, --ipv4 prefer IPv4
-6, --ipv6 prefer IPv6
-@@ -20
89,6 +2090
,22 @@ daemon uses the charset specified in its "charset" configuration parameter
+@@ -20
93,6 +2094
,22 @@ daemon uses the charset specified in its "charset" configuration parameter
regardless of the remote charset you actually pass. Thus, you may feel free to
specify just the local charset for a daemon transfer (e.g. bf(--iconv=utf8)).
regardless of the remote charset you actually pass. Thus, you may feel free to
specify just the local charset for a daemon transfer (e.g. bf(--iconv=utf8)).
diff --git
a/usermap.diff
b/usermap.diff
index
73f1de0
..
b40650f
100644
(file)
--- a/
usermap.diff
+++ b/
usermap.diff
@@
-36,7
+36,7
@@
diff --git a/flist.c b/flist.c
gid = match_gid(gid, &gid_flags);
}
}
gid = match_gid(gid, &gid_flags);
}
}
-@@ -22
64,8 +2265
,13 @@ struct file_list *recv_file_list(int f)
+@@ -22
45,8 +2246
,13 @@ struct file_list *recv_file_list(int f)
int dstart, flags;
int64 start_read;
int dstart, flags;
int64 start_read;
@@
-63,7
+63,7
@@
diff --git a/options.c b/options.c
int rsync_port = 0;
int compare_dest = 0;
int copy_dest = 0;
int rsync_port = 0;
int compare_dest = 0;
int copy_dest = 0;
-@@ -38
4,6 +386
,9 @@ void usage(enum logcode F)
+@@ -38
5,6 +387
,9 @@ void usage(enum logcode F)
rprintf(F," --delay-updates put all updated files into place at transfer's end\n");
rprintf(F," -m, --prune-empty-dirs prune empty directory chains from the file-list\n");
rprintf(F," --numeric-ids don't map uid/gid values by user/group name\n");
rprintf(F," --delay-updates put all updated files into place at transfer's end\n");
rprintf(F," -m, --prune-empty-dirs prune empty directory chains from the file-list\n");
rprintf(F," --numeric-ids don't map uid/gid values by user/group name\n");
@@
-73,7
+73,7
@@
diff --git a/options.c b/options.c
rprintf(F," --timeout=SECONDS set I/O timeout in seconds\n");
rprintf(F," --contimeout=SECONDS set daemon connection timeout in seconds\n");
rprintf(F," -I, --ignore-times don't skip files that match in size and mod-time\n");
rprintf(F," --timeout=SECONDS set I/O timeout in seconds\n");
rprintf(F," --contimeout=SECONDS set daemon connection timeout in seconds\n");
rprintf(F," -I, --ignore-times don't skip files that match in size and mod-time\n");
-@@ -44
6,7 +451
,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
+@@ -44
7,7 +452
,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
OPT_FILTER, OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_HELP,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD,
OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE,
OPT_FILTER, OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_HELP,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD,
OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE,
@@
-82,7
+82,7
@@
diff --git a/options.c b/options.c
OPT_SERVER, OPT_REFUSED_BASE = 9000};
static struct poptOption long_options[] = {
OPT_SERVER, OPT_REFUSED_BASE = 9000};
static struct poptOption long_options[] = {
-@@ -62
2,6 +627
,9 @@ static struct poptOption long_options[] = {
+@@ -62
3,6 +628
,9 @@ static struct poptOption long_options[] = {
{"no-s", 0, POPT_ARG_VAL, &protect_args, 0, 0, 0},
{"numeric-ids", 0, POPT_ARG_VAL, &numeric_ids, 1, 0, 0 },
{"no-numeric-ids", 0, POPT_ARG_VAL, &numeric_ids, 0, 0, 0 },
{"no-s", 0, POPT_ARG_VAL, &protect_args, 0, 0, 0},
{"numeric-ids", 0, POPT_ARG_VAL, &numeric_ids, 1, 0, 0 },
{"no-numeric-ids", 0, POPT_ARG_VAL, &numeric_ids, 0, 0, 0 },
@@
-92,7
+92,7
@@
diff --git a/options.c b/options.c
{"timeout", 0, POPT_ARG_INT, &io_timeout, 0, 0, 0 },
{"no-timeout", 0, POPT_ARG_VAL, &io_timeout, 0, 0, 0 },
{"contimeout", 0, POPT_ARG_INT, &connect_timeout, 0, 0, 0 },
{"timeout", 0, POPT_ARG_INT, &io_timeout, 0, 0, 0 },
{"no-timeout", 0, POPT_ARG_VAL, &io_timeout, 0, 0, 0 },
{"contimeout", 0, POPT_ARG_INT, &connect_timeout, 0, 0, 0 },
-@@ -122
8,6 +1236
,43 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -122
9,6 +1237
,43 @@ int parse_arguments(int *argc_p, const char ***argv_p)
}
break;
}
break;
@@
-136,7
+136,7
@@
diff --git a/options.c b/options.c
case OPT_HELP:
usage(FINFO);
exit_cleanup(0);
case OPT_HELP:
usage(FINFO);
exit_cleanup(0);
-@@ -200
6,6 +2051
,18 @@ void server_options(char **args, int *argc_p)
+@@ -200
7,6 +2052
,18 @@ void server_options(char **args, int *argc_p)
args[ac++] = "--use-qsort";
if (am_sender) {
args[ac++] = "--use-qsort";
if (am_sender) {
@@
-158,7
+158,7
@@
diff --git a/options.c b/options.c
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
diff --git a/rsync.yo b/rsync.yo
--- a/rsync.yo
+++ b/rsync.yo
-@@ -3
78,6 +378
,9 @@ to the detailed description below for a complete description. verb(
+@@ -3
82,6 +382
,9 @@ to the detailed description below for a complete description. verb(
--delay-updates put all updated files into place at end
-m, --prune-empty-dirs prune empty directory chains from file-list
--numeric-ids don't map uid/gid values by user/group name
--delay-updates put all updated files into place at end
-m, --prune-empty-dirs prune empty directory chains from file-list
--numeric-ids don't map uid/gid values by user/group name
@@
-168,7
+168,7
@@
diff --git a/rsync.yo b/rsync.yo
--timeout=SECONDS set I/O timeout in seconds
--contimeout=SECONDS set daemon connection timeout in seconds
-I, --ignore-times don't skip files that match size and time
--timeout=SECONDS set I/O timeout in seconds
--contimeout=SECONDS set daemon connection timeout in seconds
-I, --ignore-times don't skip files that match size and time
-@@ -162
0,6 +1623
,57 @@ from the source system is used instead. See also the comments on the
+@@ -162
4,6 +1627
,57 @@ from the source system is used instead. See also the comments on the
the chroot setting affects rsync's ability to look up the names of the
users and groups and what you can do about it.
the chroot setting affects rsync's ability to look up the names of the
users and groups and what you can do about it.