{
int i;
for (i = 0; rerr_names[i].name; i++) {
---- orig/main.c 2005-04-24 04:42:39
+--- orig/main.c 2005-05-03 17:11:01
+++ main.c 2004-07-03 20:22:18
@@ -144,6 +144,9 @@ static void handle_stats(int f)
next;
}
---- orig/options.c 2005-05-03 16:47:32
+--- orig/options.c 2005-05-10 15:32:58
+++ options.c 2005-02-14 02:46:05
@@ -44,6 +44,7 @@ int keep_dirlinks = 0;
int copy_links = 0;
if (verbose > 1 && flags & PERMS_REPORT) {
enum logcode code = daemon_log_format_has_i || dry_run
? FCLIENT : FINFO;
---- orig/rsync.h 2005-04-14 01:53:12
+--- orig/rsync.h 2005-05-03 17:11:01
+++ rsync.h 2004-07-03 20:11:58
@@ -638,6 +638,40 @@ struct stats {
#include "lib/permstring.h"
#include "proto.h"
/* We have replacement versions of these if they're missing. */
---- orig/rsync.yo 2005-05-03 16:47:33
+--- orig/rsync.yo 2005-05-10 16:14:33
+++ rsync.yo 2004-07-03 20:11:58
-@@ -325,6 +325,7 @@ to the detailed description below for a
+@@ -317,6 +317,7 @@ to the detailed description below for a
-H, --hard-links preserve hard links
-K, --keep-dirlinks treat symlinked dir on receiver as dir
-p, --perms preserve permissions
-o, --owner preserve owner (root only)
-g, --group preserve group
-D, --devices preserve devices (root only)
-@@ -637,6 +638,11 @@ based on the source file's permissions,
+@@ -629,6 +630,11 @@ based on the source file's permissions,
umask setting
(which is the same behavior as other file-copy utilities, such as cp).
matched(f, s, buf, j, -2);
matched(f, s, buf, len, -1);
}
---- orig/options.c 2005-05-03 16:47:32
+--- orig/options.c 2005-05-10 15:32:58
+++ options.c 2005-03-11 11:21:34
@@ -39,6 +39,7 @@ int make_backups = 0;
**/
continue;
}
---- orig/rsync.yo 2005-05-03 16:47:33
+--- orig/rsync.yo 2005-05-10 16:14:33
+++ rsync.yo 2005-02-11 20:36:38
-@@ -317,6 +317,7 @@ to the detailed description below for a
+@@ -309,6 +309,7 @@ to the detailed description below for a
--suffix=SUFFIX backup suffix (default ~ w/o --backup-dir)
-u, --update skip files that are newer on the receiver
--inplace update destination files in-place
-d, --dirs transfer directories without recursing
-l, --links copy symlinks as symlinks
-L, --copy-links transform symlink into referent file/dir
-@@ -576,6 +577,14 @@ should not use this option to update fil
+@@ -568,6 +569,14 @@ should not use this option to update fil
rsync will be unable to update a file in-place that is not writable by the
receiving user.
if (verbose > 1)
rprintf(FINFO, "%s is newer\n", safe_fname(fname));
return;
---- orig/options.c 2005-05-03 16:47:32
+--- orig/options.c 2005-05-10 15:32:58
+++ options.c 2005-02-21 10:53:28
@@ -50,6 +50,7 @@ int preserve_uid = 0;
int preserve_gid = 0;
}
change_uid = am_root && preserve_uid && st->st_uid != file->uid;
---- orig/rsync.h 2005-04-14 01:53:12
+--- orig/rsync.h 2005-05-03 17:11:01
+++ rsync.h 2004-07-03 20:15:41
@@ -54,6 +54,7 @@
#define XMIT_HAS_IDEV_DATA (1<<9)
uid_t uid;
gid_t gid;
mode_t mode;
---- orig/rsync.yo 2005-05-03 16:47:33
+--- orig/rsync.yo 2005-05-10 16:14:33
+++ rsync.yo 2005-01-24 01:57:18
-@@ -330,6 +330,7 @@ to the detailed description below for a
+@@ -322,6 +322,7 @@ to the detailed description below for a
-D, --devices preserve devices (root only)
-t, --times preserve times
-O, --omit-dir-times omit directories when preserving times
-S, --sparse handle sparse files efficiently
-n, --dry-run show what would have been transferred
-W, --whole-file copy files whole (without rsync algorithm)
-@@ -667,6 +668,11 @@ it is preserving modification times (see
+@@ -659,6 +660,11 @@ it is preserving modification times (see
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).
else
ok = do_rmdir(fname) == 0;
if (ok) {
---- orig/options.c 2005-05-03 16:47:32
+--- orig/options.c 2005-05-10 15:32:58
+++ options.c 2005-03-01 01:25:39
@@ -128,10 +128,14 @@ int no_detach
int write_batch = 0;
file->uid = st.st_uid;
file->gid = st.st_gid;
---- orig/options.c 2005-05-03 16:47:32
+--- orig/options.c 2005-05-10 15:32:58
+++ options.c 2005-03-01 01:26:56
@@ -141,6 +141,7 @@ char *log_format = NULL;
char *password_file = NULL;
if (files_from && (!am_sender || filesfrom_host)) {
if (filesfrom_host) {
args[ac++] = "--files-from";
---- orig/rsync.yo 2005-05-03 16:47:33
+--- orig/rsync.yo 2005-05-10 16:14:33
+++ rsync.yo 2005-01-24 01:48:43
-@@ -330,6 +330,7 @@ to the detailed description below for a
+@@ -322,6 +322,7 @@ to the detailed description below for a
-D, --devices preserve devices (root only)
-t, --times preserve times
-O, --omit-dir-times omit directories when preserving times
-S, --sparse handle sparse files efficiently
-n, --dry-run show what would have been transferred
-W, --whole-file copy files whole (without rsync algorithm)
-@@ -667,6 +668,14 @@ it is preserving modification times (see
+@@ -659,6 +660,14 @@ it is preserving modification times (see
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).
if (st->st_size != file->length)
return 0;
---- orig/options.c 2005-05-03 16:47:32
+--- orig/options.c 2005-05-10 15:32:58
+++ options.c 2005-01-28 19:14:15
@@ -90,6 +90,7 @@ int keep_partial = 0;
int safe_symlinks = 0;
if (modify_window_set) {
if (asprintf(&arg, "--modify-window=%d", modify_window) < 0)
goto oom;
---- orig/rsync.yo 2005-05-03 16:47:33
+--- orig/rsync.yo 2005-05-10 16:14:33
+++ rsync.yo 2005-02-11 22:49:10
-@@ -358,6 +358,7 @@ to the detailed description below for a
+@@ -350,6 +350,7 @@ to the detailed description below for a
--timeout=TIME set I/O timeout in seconds
-I, --ignore-times don't skip files that match size and time
--size-only skip files that match in size
--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
-@@ -457,6 +458,12 @@ regardless of timestamp. This is useful
+@@ -449,6 +450,12 @@ regardless of timestamp. This is useful
after using another mirroring system which may not preserve timestamps
exactly.
{ RERR_SIGNAL , "received SIGUSR1 or SIGINT" },
{ RERR_WAITCHILD , "some error returned by waitpid()" },
{ RERR_MALLOC , "error allocating core memory buffers" },
---- orig/main.c 2005-04-24 04:42:39
+--- orig/main.c 2005-05-03 17:11:01
+++ main.c 2004-07-22 00:31:47
@@ -376,7 +376,7 @@ static pid_t do_cmd(char *cmd, char *mac
whole_file = 1;
if (dir)
free(dir);
---- orig/options.c 2005-05-03 16:47:32
+--- orig/options.c 2005-05-10 15:32:58
+++ options.c 2005-02-14 02:50:32
@@ -138,6 +138,7 @@ char *basis_dir[MAX_BASIS_DIRS+1];
char *config_file = NULL;
This patch from Sami Farin lets you specify --fsync if you want fsync()
to be called on every file we write.
---- orig/options.c 2005-05-03 16:47:32
+--- orig/options.c 2005-05-10 15:32:58
+++ options.c 2005-01-28 19:30:47
@@ -39,6 +39,7 @@ int make_backups = 0;
**/
case '?':
/* Match anything but '/'. */
if (*text == '/')
---- orig/options.c 2005-05-03 16:47:32
+--- orig/options.c 2005-05-10 15:32:58
+++ options.c 2005-05-03 16:47:52
@@ -101,6 +101,7 @@ int max_delete = 0;
OFF_T max_size = 0;
+}
+
+#endif
---- orig/options.c 2005-05-03 16:47:32
+--- orig/options.c 2005-05-10 15:32:58
+++ options.c 2005-04-09 18:01:31
@@ -141,6 +141,7 @@ char *log_format = NULL;
char *password_file = NULL;
if (ret < 0) {
rsyserr(FERROR, errno, "%s %s -> \"%s\"",
ret == -2 ? "copy" : "rename",
---- orig/rsync.h 2005-04-14 01:53:12
+--- orig/rsync.h 2005-05-03 17:11:01
+++ rsync.h 2004-07-03 20:20:15
@@ -631,6 +631,14 @@ struct stats {
int current_file_index;
#include "byteorder.h"
#include "lib/mdfour.h"
---- orig/rsync.yo 2005-05-03 16:47:33
+--- orig/rsync.yo 2005-05-10 16:14:33
+++ rsync.yo 2005-02-13 06:58:47
-@@ -364,6 +364,7 @@ to the detailed description below for a
+@@ -356,6 +356,7 @@ to the detailed description below for a
--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
#else
linkname_len = 0;
#endif
---- orig/options.c 2005-05-03 16:47:32
+--- orig/options.c 2005-05-10 15:32:58
+++ options.c 2005-01-28 19:33:24
@@ -43,6 +43,7 @@ int archive_mode = 0;
int keep_dirlinks = 0;
{"copy-links", 'L', POPT_ARG_NONE, ©_links, 0, 0, 0 },
{"keep-dirlinks", 'K', POPT_ARG_NONE, &keep_dirlinks, 0, 0, 0 },
{"whole-file", 'W', POPT_ARG_VAL, &whole_file, 1, 0, 0 },
---- orig/rsync.yo 2005-05-03 16:47:33
+--- orig/rsync.yo 2005-05-10 16:14:33
+++ rsync.yo 2005-01-28 19:33:40
-@@ -319,6 +319,7 @@ to the detailed description below for a
+@@ -311,6 +311,7 @@ to the detailed description below for a
--inplace update destination files in-place
-d, --dirs transfer directories without recursing
-l, --links copy symlinks as symlinks
update_only = always_checksum = size_only = 0;
ignore_times = 1;
make_backups = 0; /* avoid a duplicate backup for inplace processing */
---- orig/options.c 2005-05-03 17:11:01
+--- orig/options.c 2005-05-10 15:32:58
+++ options.c 2005-04-28 16:20:41
@@ -98,6 +98,7 @@ int only_existing = 0;
int opt_ignore_existing = 0;
if (max_size && am_sender) {
args[ac++] = "--max-size";
args[ac++] = max_size_arg;
---- orig/rsync.yo 2005-05-03 16:47:33
+--- orig/rsync.yo 2005-05-10 16:14:33
+++ rsync.yo 2005-05-06 19:12:35
-@@ -350,6 +350,7 @@ to the detailed description below for a
+@@ -342,6 +342,7 @@ to the detailed description below for a
--ignore-errors delete even if there are I/O errors
--force force deletion of dirs even if not empty
--max-delete=NUM don't delete more than NUM files
--max-size=SIZE don't transfer any file larger than SIZE
--partial keep partially transferred files
--partial-dir=DIR put a partially transferred file into DIR
-@@ -766,10 +767,16 @@ dit(bf(--max-delete=NUM)) This tells rsy
+@@ -758,10 +759,16 @@ dit(bf(--max-delete=NUM)) This tells rsy
files or directories (NUM must be non-zero).
This is useful when mirroring very large trees to prevent disasters.
+ preserve_gid = 2;
+ }
}
---- orig/options.c 2005-05-03 16:47:32
+--- orig/options.c 2005-05-10 15:32:58
+++ options.c 2004-09-09 01:59:08
@@ -409,8 +409,8 @@ static struct poptOption long_options[]
{"no-whole-file", 0, POPT_ARG_VAL, &whole_file, 0, 0, 0 },
rsyserr(FERROR, errno, "failed to set permissions on %s",
full_fname(fname));
return 0;
---- orig/rsyncd.conf.yo 2005-04-23 17:50:12
+--- orig/rsyncd.conf.yo 2005-05-10 16:14:33
+++ rsyncd.conf.yo 2005-03-31 08:28:41
@@ -221,6 +221,70 @@ file transfers to and from that module s
was run as root. This complements the "uid" option. The default is gid -2,
+created directories.
+
dit(bf(filter)) The "filter" option allows you to specify a space-separated
- list of filter rules that the server will not allow to be read or written.
+ list of filter rules that the daemon will not allow to be read or written.
This is only superficially equivalent to the client specifying these
while (1) {
struct file_struct *file;
---- orig/options.c 2005-05-03 16:47:32
+--- orig/options.c 2005-05-10 15:32:58
+++ options.c 2005-03-01 01:37:22
@@ -82,6 +82,7 @@ char *filesfrom_host = NULL;
int eol_nulls = 0;
if (ignore_errors)
args[ac++] = "--ignore-errors";
---- orig/rsync.yo 2005-05-03 16:47:33
+--- orig/rsync.yo 2005-05-10 16:14:33
+++ rsync.yo 2005-02-22 18:20:24
-@@ -312,6 +312,7 @@ to the detailed description below for a
+@@ -304,6 +304,7 @@ to the detailed description below for a
-R, --relative use relative path names
--no-relative turn off --relative
--no-implied-dirs don't send implied dirs with -R
-b, --backup 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)
-@@ -522,6 +523,11 @@ the bf(--no-implied-dirs) option would o
+@@ -514,6 +515,11 @@ the bf(--no-implied-dirs) option would o
which means that if "/path" was a real directory on one machine and a
symlink of the other machine, rsync would not try to change this.
if (t - last_io >= io_timeout) {
if (!am_server && !am_daemon) {
rprintf(FERROR, "io timeout after %d seconds -- exiting\n",
---- orig/options.c 2005-05-03 16:47:32
+--- orig/options.c 2005-05-10 15:32:58
+++ options.c 2005-04-09 18:03:53
@@ -106,6 +106,7 @@ int checksum_seed = 0;
int inplace = 0;
if (backup_dir) {
args[ac++] = "--backup-dir";
args[ac++] = backup_dir;
---- orig/rsync.yo 2005-05-03 16:47:33
+--- orig/rsync.yo 2005-05-10 16:14:33
+++ rsync.yo 2005-02-01 10:46:35
-@@ -387,6 +387,8 @@ to the detailed description below for a
+@@ -379,6 +379,8 @@ to the detailed description below for a
--password-file=FILE read password from FILE
--list-only list the files instead of copying them
--bwlimit=KBPS limit I/O bandwidth; KBytes per second
--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
-@@ -1284,6 +1286,19 @@ transfer was too fast, it will wait befo
+@@ -1278,6 +1280,19 @@ transfer was too fast, it will wait befo
result is an average transfer rate equaling the specified limit. A value
of zero specifies no limit.