./configure (optional if already run)
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -392,6 +392,7 @@ has its own detailed description later in this manpage.
+@@ -428,6 +428,7 @@ has its own detailed description later in this manpage.
--relative, -R use relative path names
--no-implied-dirs don't send implied dirs with --relative
--backup, -b make backups (see --suffix & --backup-dir)
--backup-dir=DIR make backups into hierarchy based in DIR
--suffix=SUFFIX backup suffix (default ~ w/o --backup-dir)
--update, -u skip files that are newer on the receiver
-@@ -970,6 +971,13 @@ expand it.
+@@ -1006,6 +1007,13 @@ expand it.
rules specify a trailing inclusion/exclusion of `*`, the auto-added rule
would never be reached).
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -394,7 +394,9 @@ has its own detailed description later in this manpage.
+@@ -430,7 +430,9 @@ has its own detailed description later in this manpage.
--backup, -b make backups (see --suffix & --backup-dir)
--backup-deleted make backups only of deleted files
--backup-dir=DIR make backups into hierarchy based in DIR
--update, -u skip files that are newer on the receiver
--inplace update destination files in-place
--append append data onto shorter files
-@@ -992,6 +994,11 @@ expand it.
+@@ -1028,6 +1030,11 @@ expand it.
daemon is the receiver, the backup dir cannot go outside the module's path
hierarchy, so take extra care not to delete it or copy into it.
./configure (optional if already run)
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/errcode.h b/errcode.h
--- a/errcode.h
+++ b/errcode.h
}
void write_del_stats(int f)
-@@ -1635,6 +1638,14 @@ void remember_children(UNUSED(int val))
+@@ -1646,6 +1649,14 @@ void remember_children(UNUSED(int val))
break;
}
}
}
#endif
#ifndef HAVE_SIGACTION
-@@ -1688,6 +1699,13 @@ static void rsync_panic_handler(UNUSED(int whatsig))
+@@ -1699,6 +1710,13 @@ static void rsync_panic_handler(UNUSED(int whatsig))
}
#endif
static void unset_env_var(const char *var)
{
#ifdef HAVE_UNSETENV
-@@ -1704,7 +1722,6 @@ static void unset_env_var(const char *var)
+@@ -1715,7 +1733,6 @@ static void unset_env_var(const char *var)
#endif
}
int main(int argc,char *argv[])
{
int ret;
-@@ -1728,6 +1745,11 @@ int main(int argc,char *argv[])
+@@ -1739,6 +1756,11 @@ int main(int argc,char *argv[])
SIGACTMASK(SIGFPE, rsync_panic_handler);
SIGACTMASK(SIGABRT, rsync_panic_handler);
SIGACTMASK(SIGBUS, rsync_panic_handler);
in their daemon config file, and thus make it quite efficient for a client
rsync to make use of the --checksum option on their server.
-Note that the sums cached are just MD4 & MD5, so a mirror using this would
-also want to export RSYNC_CHECKSUM_LIST="md5 md4" to limit the checksum
-values that the negotiation code can match.
-
To use this patch, run these commands for a successful build:
patch -p1 <patches/checksum-reading.diff
./configure (optional if already run)
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/clientserver.c b/clientserver.c
--- a/clientserver.c
+++ b/clientserver.c
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -386,6 +386,7 @@ has its own detailed description later in this manpage.
+@@ -422,6 +422,7 @@ has its own detailed description later in this manpage.
--quiet, -q suppress non-error messages
--no-motd suppress daemon-mode MOTD
--checksum, -c skip based on checksum, not mod-time & size
--archive, -a archive mode is -rlptgoD (no -A,-X,-U,-N,-H)
--no-OPTION turn off an implied OPTION (e.g. --no-D)
--recursive, -r recurse into directories
-@@ -778,6 +779,8 @@ expand it.
+@@ -814,6 +815,8 @@ expand it.
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.
Note that rsync always verifies that each _transferred_ file was correctly
reconstructed on the receiving side by checking a whole-file checksum that
is generated as the file is transferred, but that automatic
-@@ -789,6 +792,38 @@ expand it.
+@@ -825,6 +828,38 @@ expand it.
option or an environment variable that is discussed in that option's
section.
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -903,6 +903,10 @@ extern int file_sum_extra_cnt;
+@@ -897,6 +897,10 @@ extern int file_sum_extra_cnt;
#define F_SUM(f) ((char*)OPT_EXTRA(f, START_BUMP(f) + HLINK_BUMP(f) \
+ SUM_EXTRA_CNT - 1))
/* Some utility defines: */
#define F_IS_ACTIVE(f) (f)->basename[0]
#define F_IS_HLINKED(f) ((f)->flags & FLAG_HLINKED)
-@@ -1117,6 +1121,13 @@ typedef struct {
+@@ -1111,6 +1115,13 @@ typedef struct {
#define RELNAMECACHE_LEN (offsetof(relnamecache, fname))
#endif
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -803,9 +803,13 @@ expand it.
+@@ -839,9 +839,13 @@ expand it.
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/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -1123,6 +1123,8 @@ typedef struct {
+@@ -1117,6 +1117,8 @@ typedef struct {
#define CSF_ENABLE (1<<1)
#define CSF_LAX (1<<2)
./configure (optional if already run)
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
# Programs we must have to run the test cases
CHECK_PROGS = rsync$(EXEEXT) tls$(EXEEXT) getgroups$(EXEEXT) getfsdev$(EXEEXT) \
-@@ -168,7 +168,7 @@ getgroups$(EXEEXT): getgroups.o
+@@ -170,7 +170,7 @@ getgroups$(EXEEXT): getgroups.o
getfsdev$(EXEEXT): getfsdev.o
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ getfsdev.o $(LIBS)
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -474,6 +474,7 @@ has its own detailed description later in this manpage.
+@@ -510,6 +510,7 @@ has its own detailed description later in this manpage.
--compare-dest=DIR also compare destination files relative to DIR
--copy-dest=DIR ... and include copies of unchanged files
--link-dest=DIR hardlink to files in DIR when unchanged
--compress, -z compress file data during the transfer
--compress-choice=STR choose the compression algorithm (aka --zc)
--compress-level=NUM explicitly set compression level (aka --zl)
-@@ -2665,6 +2666,18 @@ expand it.
+@@ -2717,6 +2718,18 @@ expand it.
this bug by avoiding the `-o` option (or using `--no-o`) when sending to an
old rsync.
./configure (optional if already run)
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/daemon-parm.txt b/daemon-parm.txt
--- a/daemon-parm.txt
+++ b/daemon-parm.txt
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -495,6 +495,8 @@ has its own detailed description later in this manpage.
+@@ -531,6 +531,8 @@ has its own detailed description later in this manpage.
--address=ADDRESS bind address for outgoing socket to daemon
--port=PORT specify double-colon alternate port number
--sockopts=OPTIONS specify custom TCP options
./configure (optional if already run)
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -468,6 +468,7 @@ has its own detailed description later in this manpage.
+@@ -504,6 +504,7 @@ has its own detailed description later in this manpage.
--contimeout=SECONDS set daemon connection timeout in seconds
--ignore-times, -I don't skip files that match size and time
--size-only skip files that match in size
--modify-window=NUM, -@ set the accuracy for mod-time comparisons
--temp-dir=DIR, -T create temporary files in directory DIR
--fuzzy, -y find similar file for basis if no dest file
-@@ -740,6 +741,14 @@ expand it.
+@@ -776,6 +777,14 @@ expand it.
after using another mirroring system which may not preserve timestamps
exactly.
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -472,6 +472,8 @@ has its own detailed description later in this manpage.
+@@ -508,6 +508,8 @@ has its own detailed description later in this manpage.
--temp-dir=DIR, -T create temporary files in directory DIR
--fuzzy, -y find similar file for basis if no dest file
--detect-renamed try to find renamed files to speed the xfer
--compare-dest=DIR also compare destination files relative to DIR
--copy-dest=DIR ... and include copies of unchanged files
--link-dest=DIR hardlink to files in DIR when unchanged
-@@ -2597,6 +2599,20 @@ expand it.
+@@ -2649,6 +2651,20 @@ expand it.
otential alternate-basis files will be removed as the transfer progresses.
This option conflicts with [`--inplace`](#opt) and [`--append`](#opt).
a file that can't use it, while missing out on giving it to a file
that could use it.
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/backup.c b/backup.c
--- a/backup.c
+++ b/backup.c
diff --git a/main.c b/main.c
--- a/main.c
+++ b/main.c
-@@ -715,7 +715,7 @@ static char *get_local_name(struct file_list *flist, char *dest_path)
+@@ -724,7 +724,7 @@ static char *get_local_name(struct file_list *flist, char *dest_path)
if (mkpath_dest_arg && statret < 0 && (cp || file_total > 1)) {
int save_errno = errno;
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -471,6 +471,7 @@ has its own detailed description later in this manpage.
+@@ -507,6 +507,7 @@ has its own detailed description later in this manpage.
--modify-window=NUM, -@ set the accuracy for mod-time comparisons
--temp-dir=DIR, -T create temporary files in directory DIR
--fuzzy, -y find similar file for basis if no dest file
--compare-dest=DIR also compare destination files relative to DIR
--copy-dest=DIR ... and include copies of unchanged files
--link-dest=DIR hardlink to files in DIR when unchanged
-@@ -2580,6 +2581,22 @@ expand it.
+@@ -2632,6 +2633,22 @@ expand it.
potential fuzzy-match files, so either use [`--delete-after`](#opt) or
specify some filename exclusions if you need to prevent this.
./configure (optional if already run)
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -459,6 +459,7 @@ has its own detailed description later in this manpage.
+@@ -495,6 +495,7 @@ has its own detailed description later in this manpage.
--partial keep partially transferred files
--partial-dir=DIR put a partially transferred file into DIR
--delay-updates put all updated files into place at end
--prune-empty-dirs, -m prune empty directory chains from file-list
--numeric-ids don't map uid/gid values by user/group name
--usermap=STRING custom username mapping
-@@ -3378,6 +3379,17 @@ expand it.
+@@ -3430,6 +3431,17 @@ expand it.
update algorithm that is even more atomic (it uses [`--link-dest`](#opt)
and a parallel hierarchy of files).
./configure (optional if already run)
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -395,6 +395,7 @@ has its own detailed description later in this manpage.
+@@ -431,6 +431,7 @@ has its own detailed description later in this manpage.
--backup-dir=DIR make backups into hierarchy based in DIR
--suffix=SUFFIX backup suffix (default ~ w/o --backup-dir)
--update, -u skip files that are newer on the receiver
./configure (optional if already run)
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/compat.c b/compat.c
--- a/compat.c
+++ b/compat.c
extern int msgs2stderr;
extern int module_id;
extern int read_only;
-@@ -966,6 +970,22 @@ static int do_recv(int f_in, int f_out, char *local_name)
+@@ -975,6 +979,22 @@ static int do_recv(int f_in, int f_out, char *local_name)
* points to an identical file won't be replaced by the referent. */
copy_links = copy_dirlinks = copy_unsafe_links = 0;
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -410,6 +410,7 @@ has its own detailed description later in this manpage.
+@@ -446,6 +446,7 @@ has its own detailed description later in this manpage.
--keep-dirlinks, -K treat symlinked dir on receiver as dir
--hard-links, -H preserve hard links
--perms, -p preserve permissions
--executability, -E preserve executability
--chmod=CHMOD affect file and/or directory permissions
--acls, -A preserve ACLs (implies --perms)
-@@ -451,7 +452,10 @@ has its own detailed description later in this manpage.
+@@ -487,7 +488,10 @@ has its own detailed description later in this manpage.
--ignore-missing-args ignore missing source args without error
--delete-missing-args delete missing source args from destination
--ignore-errors delete even if there are I/O errors
--max-delete=NUM don't delete more than NUM files
--max-size=SIZE don't transfer any file larger than SIZE
--min-size=SIZE don't transfer any file smaller than SIZE
-@@ -795,6 +799,7 @@ expand it.
+@@ -831,6 +835,7 @@ expand it.
recursion and want to preserve almost everything. Be aware that it does
**not** include preserving ACLs (`-A`), xattrs (`-X`), atimes (`-U`),
crtimes (`-N`), nor the finding and preserving of hardlinks (`-H`).
The only exception to the above equivalence is when [`--files-from`](#opt)
is specified, in which case [`-r`](#opt) is not implied.
-@@ -1254,7 +1259,7 @@ expand it.
+@@ -1295,7 +1300,7 @@ expand it.
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
See also [`--keep-dirlinks`](#opt) for an analogous option for the
receiving side.
-@@ -1449,6 +1454,37 @@ expand it.
+@@ -1490,6 +1495,37 @@ expand it.
those used by [`--fake-super`](#opt)) unless you repeat the option (e.g. `-XX`).
This "copy all xattrs" mode cannot be used with [`--fake-super`](#opt).
0. `--chmod=CHMOD`
This option tells rsync to apply one or more comma-separated "chmod" modes
-@@ -1967,8 +2003,8 @@ expand it.
+@@ -2017,8 +2053,8 @@ expand it.
[`--ignore-missing-args`](#opt) option a step farther: each missing arg
will become a deletion request of the corresponding destination file on the
receiving side (should it exist). If the destination file is a non-empty
independent of any other type of delete processing.
The missing source files are represented by special file-list entries which
-@@ -1979,14 +2015,14 @@ expand it.
+@@ -2029,14 +2065,14 @@ expand it.
Tells [`--delete`](#opt) to go ahead and delete files even when there are
I/O errors.
[`--recursive`](#opt) option was also enabled.
0. `--max-delete=NUM`
-@@ -3044,7 +3080,7 @@ expand it.
+@@ -3096,7 +3132,7 @@ expand it.
also turns on the output of other verbose messages).
The "%i" escape has a cryptic output that is 11 letters long. The general
#define ITEM_REPORT_CRTIME (1<<10)
#define ITEM_BASIS_TYPE_FOLLOWS (1<<11)
#define ITEM_XNAME_FOLLOWS (1<<12)
-@@ -593,6 +595,31 @@ typedef unsigned int size_t;
+@@ -587,6 +589,31 @@ typedef unsigned int size_t;
#define SUPPORT_CRTIMES 1
#endif
/* Find a variable that is either exactly 32-bits or longer.
* If some code depends on 32-bit truncation, it will need to
* take special action in a "#if SIZEOF_INT32 > 4" section. */
-@@ -824,6 +851,7 @@ extern int pathname_ndx;
+@@ -818,6 +845,7 @@ extern int pathname_ndx;
extern int depth_ndx;
extern int uid_ndx;
extern int gid_ndx;
extern int acls_ndx;
extern int xattrs_ndx;
extern int file_sum_extra_cnt;
-@@ -879,6 +907,11 @@ extern int file_sum_extra_cnt;
+@@ -873,6 +901,11 @@ extern int file_sum_extra_cnt;
/* When the associated option is on, all entries will have these present: */
#define F_OWNER(f) REQ_EXTRA(f, uid_ndx)->unum
#define F_GROUP(f) REQ_EXTRA(f, gid_ndx)->unum
./configure (optional if already run)
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/exclude.c b/exclude.c
--- a/exclude.c
+++ b/exclude.c
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -1472,7 +1472,9 @@ expand it.
+@@ -1513,7 +1513,9 @@ expand it.
> --chmod=D2775,F664
It is also legal to specify multiple `--chmod` options, as each additional
See the [`--perms`](#opt) and [`--executability`](#opt) options for how the
resulting permission value can be applied to the files in the transfer.
-@@ -2978,6 +2980,10 @@ expand it.
+@@ -3030,6 +3032,10 @@ expand it.
An older rsync client may need to use [`-s`](#opt) to avoid a complaint
about wildcard characters, but a modern rsync handles this automatically.
0. `--timeout=SECONDS`
This option allows you to set a maximum I/O timeout in seconds. If no data
-@@ -4128,6 +4134,15 @@ The following modifiers are accepted after an include (+) or exclude (-) rule:
+@@ -4184,6 +4190,15 @@ The following modifiers are accepted after an include (+) or exclude (-) rule:
like "CVS" and "`*.o`" are marked as perishable, and will not prevent a
directory that was removed on the source from being deleted on the
destination.
- An `x` indicates that a rule affects xattr names in xattr copy/delete
operations (and is thus ignored when matching file/dir names). If no
xattr-matching rules are specified, a default xattr filtering rule is used
-@@ -4185,6 +4200,12 @@ The following modifiers are accepted after a merge or dir-merge rule:
+@@ -4241,6 +4256,12 @@ The following modifiers are accepted after a merge or dir-merge rule:
rules in the file must not specify sides (via a modifier or a rule prefix
such as `hide`).
#define XFLG_FATAL_ERRORS (1<<0)
#define XFLG_OLD_PREFIXES (1<<1)
-@@ -988,6 +991,8 @@ struct map_struct {
+@@ -982,6 +985,8 @@ struct map_struct {
int status; /* first errno from read errors */
};
#define NAME_IS_FILE (0) /* filter name as a file */
#define NAME_IS_DIR (1<<0) /* filter name as a dir */
#define NAME_IS_XATTR (1<<2) /* filter name as an xattr */
-@@ -1013,8 +1018,18 @@ struct map_struct {
+@@ -1007,8 +1012,18 @@ struct map_struct {
#define FILTRULE_CLEAR_LIST (1<<18)/* this item is the "!" token */
#define FILTRULE_PERISHABLE (1<<19)/* perishable if parent dir goes away */
#define FILTRULE_XATTR (1<<20)/* rule only applies to xattr names */
typedef struct filter_struct {
struct filter_struct *next;
-@@ -1024,6 +1039,11 @@ typedef struct filter_struct {
+@@ -1018,6 +1033,11 @@ typedef struct filter_struct {
int slash_cnt;
struct filter_list_struct *mergelist;
} u;
- Make this code handle multibyte character encodings, and honor the
--iconv setting when converting case.
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/exclude.c b/exclude.c
--- a/exclude.c
+++ b/exclude.c
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -492,6 +492,7 @@ has its own detailed description later in this manpage.
+@@ -528,6 +528,7 @@ has its own detailed description later in this manpage.
--secluded-args, -s use the protocol to safely send the args
--trust-sender trust the remote sender's file list
--copy-as=USER[:GROUP] specify user & optional group for the copy
--address=ADDRESS bind address for outgoing socket to daemon
--port=PORT specify double-colon alternate port number
--sockopts=OPTIONS specify custom TCP options
-@@ -2528,6 +2529,12 @@ expand it.
+@@ -2580,6 +2581,12 @@ expand it.
> sudo rsync -aive lsh -M--copy-as=joe src/ lh:dest/
./configure
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
-@@ -981,6 +981,31 @@ if test x"$enable_iconv" != x"no"; then
+@@ -979,6 +979,31 @@ if test x"$enable_iconv" != x"no"; then
AC_DEFINE(UTF8_CHARSET, "UTF-8", [String to pass to iconv() for the UTF-8 charset.])
fi
diff --git a/main.c b/main.c
--- a/main.c
+++ b/main.c
-@@ -1578,7 +1578,7 @@ static int start_client(int argc, char *argv[])
+@@ -1589,7 +1589,7 @@ static int start_client(int argc, char *argv[])
* remote shell command, we need to do the RSYNCD protocol first */
if (daemon_connection) {
int tmpret;
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -535,6 +535,15 @@ enum delret {
+@@ -529,6 +529,15 @@ enum delret {
#define iconv_t int
#endif
./configure
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -474,6 +474,7 @@ has its own detailed description later in this manpage.
+@@ -510,6 +510,7 @@ has its own detailed description later in this manpage.
--compare-dest=DIR also compare destination files relative to DIR
--copy-dest=DIR ... and include copies of unchanged files
--link-dest=DIR hardlink to files in DIR when unchanged
--compress, -z compress file data during the transfer
--compress-choice=STR choose the compression algorithm (aka --zc)
--compress-level=NUM explicitly set compression level (aka --zl)
-@@ -2665,6 +2666,50 @@ expand it.
+@@ -2717,6 +2718,50 @@ expand it.
this bug by avoiding the `-o` option (or using `--no-o`) when sending to an
old rsync.
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -1452,7 +1452,8 @@ extern short info_levels[], debug_levels[];
+@@ -1446,7 +1446,8 @@ extern short info_levels[], debug_levels[];
#define DEBUG_FUZZY (DEBUG_FLIST+1)
#define DEBUG_GENR (DEBUG_FUZZY+1)
#define DEBUG_HASH (DEBUG_GENR+1)
./configure (optional if already run)
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -427,6 +427,7 @@ has its own detailed description later in this manpage.
+@@ -463,6 +463,7 @@ has its own detailed description later in this manpage.
--crtimes, -N preserve create times (newness)
--omit-dir-times, -O omit directories from --times
--omit-link-times, -J omit symlinks from --times
--super receiver attempts super-user activities
--fake-super store/recover privileged attrs using xattrs
--sparse, -S turn sequences of nulls into sparse blocks
-@@ -1604,6 +1605,11 @@ expand it.
+@@ -1654,6 +1655,11 @@ expand it.
This tells rsync to omit symlinks when it is preserving modification,
access, and create times.
./configure (optional if already run)
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/flist.c b/flist.c
--- a/flist.c
+++ b/flist.c
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -511,6 +511,7 @@ has its own detailed description later in this manpage.
+@@ -547,6 +547,7 @@ has its own detailed description later in this manpage.
--early-input=FILE use FILE for daemon's early exec input
--list-only list the files instead of copying them
--bwlimit=RATE limit socket I/O bandwidth
TODO: the configure changes should abort if the user requests --enable-slp
and we can't honor that request.
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
popt_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \
popt/popthelp.o popt/poptparse.o
OBJS=$(OBJS1) $(OBJS2) $(OBJS3) $(DAEMON_OBJ) $(LIBOBJ) @BUILD_ZLIB@ @BUILD_POPT@
-@@ -101,7 +103,7 @@ install-strip:
+@@ -103,7 +105,7 @@ install-strip:
$(MAKE) INSTALL_STRIP='-s' install
rsync$(EXEEXT): $(OBJS)
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
-@@ -1049,6 +1049,29 @@ if test $rsync_cv_can_hardlink_special = yes; then
+@@ -1047,6 +1047,29 @@ if test $rsync_cv_can_hardlink_special = yes; then
AC_DEFINE(CAN_HARDLINK_SPECIAL, 1, [Define to 1 if link() can hard-link special files.])
fi
diff --git a/main.c b/main.c
--- a/main.c
+++ b/main.c
-@@ -1402,6 +1402,22 @@ static int start_client(int argc, char *argv[])
+@@ -1411,6 +1411,22 @@ static int start_client(int argc, char *argv[])
if (!read_batch) { /* for read_batch, NO source is specified */
char *path = check_for_hostspec(argv[0], &shell_machine, &rsync_port);
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -152,7 +152,19 @@ rsync daemon by leaving off the module name:
+@@ -152,6 +152,18 @@ rsync daemon by leaving off the module name:
> rsync somehost.mydomain.com::
--See the following section for more details.
+And, if Service Location Protocol is available, the following will list the
+available rsync servers:
+
+
+> rsync rsync://
+
-+See the following section for even more usage details.
-
- ## SORTED TRANSFER ORDER
+ ## COPYING TO A DIFFERENT NAME
+ When you want to copy a directory to a different name, use a trailing slash on
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
./configure (optional if already run)
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/syscall.c b/syscall.c
--- a/syscall.c
+++ b/syscall.c
-- Matt McCutchen <hashproduct@gmail.com>
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -441,6 +441,7 @@ has its own detailed description later in this manpage.
+@@ -477,6 +477,7 @@ has its own detailed description later in this manpage.
--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)
--del an alias for --delete-during
--delete delete extraneous files from dest dirs
--delete-before receiver deletes before xfer, not during
-@@ -1841,6 +1842,17 @@ expand it.
+@@ -1891,6 +1892,17 @@ expand it.
not remove a file the receiver just verified, such as when the user
accidentally makes the source and destination directory the same path.
./configure (optional if already run)
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -468,6 +468,7 @@ has its own detailed description later in this manpage.
+@@ -504,6 +504,7 @@ has its own detailed description later in this manpage.
--contimeout=SECONDS set daemon connection timeout in seconds
--ignore-times, -I don't skip files that match size and time
--size-only skip files that match in size
--modify-window=NUM, -@ set the accuracy for mod-time comparisons
--temp-dir=DIR, -T create temporary files in directory DIR
--fuzzy, -y find similar file for basis if no dest file
-@@ -517,6 +518,8 @@ has its own detailed description later in this manpage.
+@@ -553,6 +554,8 @@ has its own detailed description later in this manpage.
--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
--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)
-@@ -3654,6 +3657,36 @@ expand it.
+@@ -3710,6 +3713,36 @@ expand it.
[`--write-batch`](#opt). If _FILE_ is `-`, the batch data will be read
from standard input. See the "BATCH MODE" section for details.
./configure (optional if already run)
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/fileio.c b/fileio.c
--- a/fileio.c
+++ b/fileio.c
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -430,6 +430,7 @@ has its own detailed description later in this manpage.
+@@ -466,6 +466,7 @@ has its own detailed description later in this manpage.
--super receiver attempts super-user activities
--fake-super store/recover privileged attrs using xattrs
--sparse, -S turn sequences of nulls into sparse blocks
--preallocate allocate dest files before writing them
--dry-run, -n perform a trial run with no changes made
--whole-file, -W copy files whole (w/o delta-xfer algorithm)
-@@ -1678,6 +1679,18 @@ expand it.
+@@ -1728,6 +1729,18 @@ expand it.
(as opposed to allocated sequences of null bytes) if the kernel version and
filesystem type support creating holes in the allocated data.
./configure (optional if already run)
make
-based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601
+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
diff --git a/flist.c b/flist.c
--- a/flist.c
+++ b/flist.c
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
-@@ -519,6 +519,7 @@ has its own detailed description later in this manpage.
+@@ -555,6 +555,7 @@ has its own detailed description later in this manpage.
--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
--checksum-seed=NUM set block/file checksum seed (advanced)
--ipv4, -4 prefer IPv4
--ipv6, -6 prefer IPv6
-@@ -3696,6 +3697,22 @@ expand it.
+@@ -3752,6 +3753,22 @@ expand it.
free to specify just the local charset for a daemon transfer (e.g.
`--iconv=utf8`).