Changeset 39822
- Timestamp:
- 09/06/08 15:37:30 (3 months ago)
- Location:
- trunk/dports/net/rsync
- Files:
-
- 3 modified
-
Portfile (modified) (3 diffs)
-
files/patch-crtimes.diff (modified) (32 diffs)
-
files/patch-fileflags.diff (modified) (24 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/dports/net/rsync/Portfile
r38605 r39822 4 4 5 5 name rsync 6 version 3.0.3 7 revision 2 6 version 3.0.4 8 7 categories net 9 8 platforms darwin freebsd sunos … … 15 14 being maintained by Wayne Davison. \ 16 15 \ 17 Rsync version 3.0.3 has been released. This is a \ 18 security release that fixes a potential buffer-overflow \ 19 issue. Related pages: \ 16 Rsync version 3.0.4 has been released. This is a \ 17 bug-fix release. Related pages: \ 20 18 http://rsync.samba.org/ftp/rsync/rsync-${version}-NEWS 21 19 … … 24 22 http://rsync.samba.org/ftp/rsync/src/ 25 23 checksums ${distname}${extract.suffix} \ 26 md5 16d41aab9ece435198af222c5415a304\27 sha1 c12668eb888e386511299616f6972bec300ed346\28 rmd160 9997a18cb5577bb127b26bcc55e50382b6e9f68d24 md5 2b2d159c9bd1b5f8adfd8b13da3a1f3f \ 25 sha1 e89ed8d84fe0b6740208ba8183ee1dbc220ba5e5 \ 26 rmd160 5e0082c7751205e16431471bdc5f48f87ae26b1a 29 27 distname rsync-${version} 30 28 -
trunk/dports/net/rsync/files/patch-crtimes.diff
r38605 r39822 12 12 --- a/compat.c 13 13 +++ b/compat.c 14 @@ -4 4,6 +44,7 @@ extern int force_change;14 @@ -45,6 +45,7 @@ extern int force_change; 15 15 extern int protect_args; 16 16 extern int preserve_uid; … … 20 20 extern int preserve_acls; 21 21 extern int preserve_xattrs; 22 @@ -6 1,7 +62,7 @@ extern iconv_t ic_send, ic_recv;22 @@ -63,7 +64,7 @@ extern char *iconv_opt; 23 23 #endif 24 24 … … 28 28 29 29 int receiver_symlink_times = 0; /* receiver can set the time on a symlink */ 30 31 @@ -13 5,6 +136,8 @@ void setup_protocol(int f_out,int f_in)30 int sender_symlink_iconv = 0; /* sender should convert symlink content */ 31 @@ -139,6 +140,8 @@ void setup_protocol(int f_out,int f_in) 32 32 uid_ndx = ++file_extra_cnt; 33 33 if (preserve_gid) … … 41 41 --- a/flist.c 42 42 +++ b/flist.c 43 @@ -5 4,6 +54,7 @@ extern int preserve_fileflags;43 @@ -56,6 +56,7 @@ extern int preserve_fileflags; 44 44 extern int uid_ndx; 45 45 extern int gid_ndx; … … 49 49 extern int implied_dirs; 50 50 extern int file_extra_cnt; 51 @@ -3 89,7 +390,7 @@ int change_pathname(struct file_struct *file, const char *dir, int dirlen)52 53 static void send_file_entry(int f, const char *fname, struct file_struct *file,int ndx, int first_ndx)51 @@ -394,7 +395,7 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file, 52 #endif 53 int ndx, int first_ndx) 54 54 { 55 55 - static time_t modtime; … … 58 58 #ifdef SUPPORT_FILEFLAGS 59 59 static uint32 fileflags; 60 @@ -47 4,6 +475,13 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,60 @@ -479,6 +480,13 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file, 61 61 xflags |= XMIT_SAME_TIME; 62 62 else … … 72 72 #ifdef SUPPORT_HARD_LINKS 73 73 if (tmp_dev != 0) { 74 @@ -54 3,6 +551,8 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,74 @@ -548,6 +556,8 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file, 75 75 else 76 76 write_int(f, modtime); … … 81 81 write_int(f, to_wire_mode(mode)); 82 82 #ifdef SUPPORT_FILEFLAGS 83 @@ -63 5,7 +645,7 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,83 @@ -638,7 +648,7 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file, 84 84 static struct file_struct *recv_file_entry(struct file_list *flist, 85 85 int xflags, int f) … … 90 90 #ifdef SUPPORT_FILEFLAGS 91 91 static uint32 fileflags; 92 @@ -77 0,6 +780,19 @@ static struct file_struct *recv_file_entry(struct file_list *flist,92 @@ -773,6 +783,19 @@ static struct file_struct *recv_file_entry(struct file_list *flist, 93 93 } else 94 94 modtime = read_int(f); … … 110 110 mode = from_wire_mode(read_int(f)); 111 111 112 @@ -9 22,6 +945,8 @@ static struct file_struct *recv_file_entry(struct file_list *flist,112 @@ -932,6 +955,8 @@ static struct file_struct *recv_file_entry(struct file_list *flist, 113 113 F_GROUP(file) = gid; 114 114 file->flags |= gid_flags; … … 119 119 F_NDX(file) = flist->used + flist->ndx_start; 120 120 121 @@ -1 272,6 +1297,8 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,121 @@ -1308,6 +1333,8 @@ struct file_struct *make_file(const char *fname, struct file_list *flist, 122 122 F_OWNER(file) = st.st_uid; 123 123 if (gid_ndx) /* Check gid_ndx instead of preserve_gid for del support */ … … 137 137 +#include "ifuncs.h" 138 138 139 extern int verbose; 139 140 extern int dry_run; 140 extern int do_xfers; 141 @@ -38,6 +39,7 @@ extern int preserve_xattrs; 141 @@ -40,6 +41,7 @@ extern int preserve_xattrs; 142 142 extern int preserve_links; 143 143 extern int preserve_devices; … … 147 147 extern int preserve_executability; 148 148 extern int preserve_fileflags; 149 @@ -6 18,6 +620,13 @@ int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp)149 @@ -620,6 +622,13 @@ int unchanged_attrs(const char *fname, struct file_struct *file, stat_x *sxp) 150 150 if (gid_ndx && !(file->flags & FLAG_SKIP_GROUP) && sxp->st.st_gid != (gid_t)F_GROUP(file)) 151 151 return 0; … … 161 161 if (preserve_acls && !S_ISLNK(file->mode)) { 162 162 if (!ACL_READY(*sxp)) 163 @@ -66 1,6 +670,12 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre163 @@ -663,6 +672,12 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre 164 164 : iflags & (ITEM_TRANSFER|ITEM_LOCAL_CHANGE) && !(iflags & ITEM_MATCHED) 165 165 && (!(iflags & ITEM_XNAME_FOLLOWS) || *xname)) … … 174 174 if (S_ISLNK(file->mode)) { 175 175 ; 176 @@ -122 1,6 +1236,7 @@ static int try_dests_non(struct file_struct *file, char *fname, int ndx,176 @@ -1223,6 +1238,7 @@ static int try_dests_non(struct file_struct *file, char *fname, int ndx, 177 177 static void list_file_entry(struct file_struct *f) 178 178 { … … 182 182 183 183 if (!F_IS_ACTIVE(f)) { 184 @@ -123 5,14 +1251,16 @@ static void list_file_entry(struct file_struct *f)184 @@ -1237,14 +1253,16 @@ static void list_file_entry(struct file_struct *f) 185 185 186 186 #ifdef SUPPORT_LINKS … … 201 201 } 202 202 } 203 @@ -133 4,6 +1352,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,203 @@ -1336,6 +1354,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, 204 204 return; 205 205 } … … 244 244 --- a/log.c 245 245 +++ b/log.c 246 @@ -66 4,7 +664,8 @@ static void log_formatted(enum logcode code, const char *format, const char *op,246 @@ -663,7 +663,8 @@ static void log_formatted(enum logcode code, const char *format, const char *op, 247 247 c[8] = !(iflags & ITEM_REPORT_FFLAGS) ? '.' : 'f'; 248 248 c[9] = !(iflags & ITEM_REPORT_ACL) ? '.' : 'a'; … … 265 265 int cvs_exclude = 0; 266 266 int dry_run = 0; 267 @@ - 698,6 +699,7 @@ void usage(enum logcode F)267 @@ -362,6 +363,7 @@ void usage(enum logcode F) 268 268 rprintf(F," -D same as --devices --specials\n"); 269 269 rprintf(F," -t, --times preserve modification times\n"); … … 273 273 #ifdef SUPPORT_XATTRS 274 274 rprintf(F," --fake-super store/recover privileged attrs using xattrs\n"); 275 @@ - 847,6 +849,9 @@ static struct poptOption long_options[] = {275 @@ -508,6 +510,9 @@ static struct poptOption long_options[] = { 276 276 {"times", 't', POPT_ARG_VAL, &preserve_times, 2, 0, 0 }, 277 277 {"no-times", 0, POPT_ARG_VAL, &preserve_times, 0, 0, 0 }, … … 283 283 {"no-omit-dir-times",0, POPT_ARG_VAL, &omit_dir_times, 0, 0, 0 }, 284 284 {"no-O", 0, POPT_ARG_VAL, &omit_dir_times, 0, 0, 0 }, 285 @@ - 2180,6 +2185,8 @@ void server_options(char **args, int *argc_p)285 @@ -1799,6 +1804,8 @@ void server_options(char **args, int *argc_p) 286 286 argstr[x++] = 'D'; 287 287 if (preserve_times) … … 295 295 --- a/rsync.c 296 296 +++ b/rsync.c 297 @@ -47 1,6 +471,14 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp,297 @@ -472,6 +472,14 @@ int set_file_attrs(const char *fname, struct file_struct *file, stat_x *sxp, 298 298 else 299 299 file->flags |= FLAG_TIME_FAILED; … … 310 310 change_uid = am_root && uid_ndx && sxp->st.st_uid != (uid_t)F_OWNER(file); 311 311 change_gid = gid_ndx && !(file->flags & FLAG_SKIP_GROUP) 312 @@ -61 8,7 +626,7 @@ int finish_transfer(const char *fname, const char *fnametmp,312 @@ -619,7 +627,7 @@ int finish_transfer(const char *fname, const char *fnametmp, 313 313 /* Change permissions before putting the file into place. */ 314 314 set_file_attrs(fnametmp, file, NULL, fnamecmp, … … 318 318 319 319 /* move tmp file over real file */ 320 if ( DEBUG_GTE(RECV, 1))321 @@ -6 49,7 +657,7 @@ int finish_transfer(const char *fname, const char *fnametmp,320 if (verbose > 2) 321 @@ -650,7 +658,7 @@ int finish_transfer(const char *fname, const char *fnametmp, 322 322 323 323 do_set_file_attrs: … … 356 356 #define ITEM_REPORT_SIZE (1<<2) /* regular files only */ 357 357 #define ITEM_REPORT_TIMEFAIL (1<<2) /* symlinks only */ 358 @@ -65 5,6 +657,7 @@ extern int file_extra_cnt;358 @@ -657,6 +659,7 @@ extern int file_extra_cnt; 359 359 extern int inc_recurse; 360 360 extern int uid_ndx; … … 364 364 extern int acls_ndx; 365 365 extern int xattrs_ndx; 366 @@ -66 2,6 +665,7 @@ extern int xattrs_ndx;366 @@ -664,6 +667,7 @@ extern int xattrs_ndx; 367 367 #define FILE_STRUCT_LEN (offsetof(struct file_struct, basename)) 368 368 #define EXTRA_LEN (sizeof (union file_extras)) … … 372 372 #define DIRNODE_EXTRA_CNT 3 373 373 #define SUM_EXTRA_CNT ((MAX_DIGEST_LEN + EXTRA_LEN - 1) / EXTRA_LEN) 374 @@ -92 0,6 +924,7 @@ typedef struct {374 @@ -922,6 +926,7 @@ typedef struct { 375 375 376 376 typedef struct { … … 383 383 --- a/rsync.yo 384 384 +++ b/rsync.yo 385 @@ -35 2,6 +352,7 @@ to the detailed description below for a complete description. verb(385 @@ -350,6 +350,7 @@ to the detailed description below for a complete description. verb( 386 386 -D same as --devices --specials 387 387 -t, --times preserve modification times … … 391 391 --fake-super store/recover privileged attrs using xattrs 392 392 -S, --sparse handle sparse files efficiently 393 @@ -10 69,6 +1070,9 @@ it is preserving modification times (see bf(--times)). If NFS is sharing393 @@ -1028,6 +1029,9 @@ it is preserving modification times (see bf(--times)). If NFS is sharing 394 394 the directories on the receiving side, it is a good idea to use bf(-O). 395 395 This option is inferred if you use bf(--backup) without bf(--backup-dir). … … 401 401 activities even if the receiving rsync wasn't run by the super-user. These 402 402 activities include: preserving users via the bf(--owner) option, preserving 403 @@ -1 758,7 +1762,7 @@ with older versions of rsync, but that also turns on the output of other403 @@ -1692,7 +1696,7 @@ with older versions of rsync, but that also turns on the output of other 404 404 verbose messages). 405 405 … … 410 410 other letters represent attributes that may be output if they are being 411 411 modified. 412 @@ -1 817,6 +1821,8 @@ quote(itemization(412 @@ -1751,6 +1755,8 @@ quote(itemization( 413 413 it() The bf(f) means that the fileflags information changed. 414 414 it() The bf(a) means that the ACL information changed. … … 614 614 fprintf(F," -L, --link-owner display the owner+group on a symlink\n"); 615 615 #ifdef SUPPORT_XATTRS 616 diff -up a/proto.h b/proto.h 617 --- a/proto.h 618 +++ b/proto.h 619 @@ -312,6 +312,8 @@ int do_stat(const char *fname, STRUCT_ST 620 int do_lstat(const char *fname, STRUCT_STAT *st); 621 int do_fstat(int fd, STRUCT_STAT *st); 622 OFF_T do_lseek(int fd, OFF_T offset, int whence); 623 +time_t get_create_time(const char *path); 624 +int set_create_time(const char *path, time_t crtime); 625 void set_compression(const char *fname); 626 void send_token(int f, int32 token, struct map_struct *buf, OFF_T offset, 627 int32 n, int32 toklen); 628 diff -up a/rsync.1 b/rsync.1 629 --- a/rsync.1 630 +++ b/rsync.1 631 @@ -425,6 +425,7 @@ to the detailed description below for a 632 \-D same as \-\-devices \-\-specials 633 \-t, \-\-times preserve modification times 634 \-O, \-\-omit\-dir\-times omit directories from \-\-times 635 + \-N, \-\-crtimes preserve create times (newness) 636 \-\-super receiver attempts super-user activities 637 \-\-fake\-super store/recover privileged attrs using xattrs 638 \-S, \-\-sparse handle sparse files efficiently 639 @@ -1183,6 +1184,10 @@ it is preserving modification times (see 640 the directories on the receiving side, it is a good idea to use \fB\-O\fP. 641 This option is inferred if you use \fB\-\-backup\fP without \fB\-\-backup\-dir\fP. 642 .IP 643 +.IP "\fB\-N, \-\-crtimes\fP" 644 +This tells rsync to set the create times (newness) of 645 +the destination files to the same value as the source files. 646 +.IP 647 .IP "\fB\-\-super\fP" 648 This tells the receiving side to attempt super-user 649 activities even if the receiving rsync wasn't run by the super-user. These 650 @@ -1938,7 +1943,7 @@ with older versions of rsync, but that a 651 verbose messages). 652 .IP 653 The \(lq%i\(rq escape has a cryptic output that is 11 letters long. The general 654 -format is like the string \fBYXcstpogfax\fP, where \fBY\fP is replaced by the 655 +format is like the string \fBYXcstpogfaxn\fP, where \fBY\fP is replaced by the 656 type of update being done, \fBX\fP is replaced by the file-type, and the 657 other letters represent attributes that may be output if they are being 658 modified. 659 @@ -2013,6 +2018,9 @@ The \fBf\fP means that the fileflags inf 660 The \fBa\fP means that the ACL information changed. 661 .IP o 662 The \fBx\fP means that the extended attribute information changed. 663 +.IP o 664 +A \fBn\fP means the create time (newness) is different and is being 665 +updated to the sender's value (requires \fB\-\-crtimes\fP). 666 .RE 667 668 .IP -
trunk/dports/net/rsync/files/patch-fileflags.diff
r38605 r39822 45 45 extern int preserve_xattrs; 46 46 extern int need_messages_from_generator; 47 @@ -6 0,7 +62,7 @@ extern iconv_t ic_send, ic_recv;47 @@ -61,7 +63,7 @@ extern char *iconv_opt; 48 48 #endif 49 49 … … 53 53 54 54 int receiver_symlink_times = 0; /* receiver can set the time on a symlink */ 55 56 @@ -13 4,6 +136,8 @@ void setup_protocol(int f_out,int f_in)55 int sender_symlink_iconv = 0; /* sender should convert symlink content */ 56 @@ -137,6 +139,8 @@ void setup_protocol(int f_out,int f_in) 57 57 uid_ndx = ++file_extra_cnt; 58 58 if (preserve_gid) … … 86 86 extern int gid_ndx; 87 87 extern int eol_nulls; 88 @@ -39 0,6 +391,9 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,88 @@ -395,6 +396,9 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file, 89 89 { 90 90 static time_t modtime; … … 96 96 static int64 dev; 97 97 #endif 98 @@ -4 19,6 +423,14 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,98 @@ -424,6 +428,14 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file, 99 99 xflags |= XMIT_SAME_MODE; 100 100 else … … 111 111 if ((preserve_devices && IS_DEVICE(mode)) 112 112 || (preserve_specials && IS_SPECIAL(mode))) { 113 @@ -53 3,6 +545,10 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,113 @@ -538,6 +550,10 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file, 114 114 } 115 115 if (!(xflags & XMIT_SAME_MODE)) … … 122 122 if (protocol_version < 30) 123 123 write_int(f, uid); 124 @@ -62 1,6 +637,9 @@ static struct file_struct *recv_file_entry(struct file_list *flist,124 @@ -624,6 +640,9 @@ static struct file_struct *recv_file_entry(struct file_list *flist, 125 125 { 126 126 static int64 modtime; … … 132 132 static int64 dev; 133 133 #endif 134 @@ -75 6,6 +775,10 @@ static struct file_struct *recv_file_entry(struct file_list *flist,134 @@ -759,6 +778,10 @@ static struct file_struct *recv_file_entry(struct file_list *flist, 135 135 136 136 if (chmod_modes && !S_ISLNK(mode)) … … 143 143 if (preserve_uid && !(xflags & XMIT_SAME_UID)) { 144 144 if (protocol_version < 30) 145 @@ -8 89,6 +912,10 @@ static struct file_struct *recv_file_entry(struct file_list *flist,145 @@ -899,6 +922,10 @@ static struct file_struct *recv_file_entry(struct file_list *flist, 146 146 } 147 147 #endif … … 154 154 F_OWNER(file) = uid; 155 155 if (preserve_gid) { 156 @@ -12 37,6 +1264,10 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,156 @@ -1273,6 +1300,10 @@ struct file_struct *make_file(const char *fname, struct file_list *flist, 157 157 } 158 158 #endif … … 165 165 F_OWNER(file) = st.st_uid; 166 166 if (gid_ndx) /* Check gid_ndx instead of preserve_gid for del support */ 167 @@ -1 355,6 +1386,7 @@ static struct file_struct *send_file_name(int f, struct file_list *flist,167 @@ -1427,6 +1458,7 @@ static struct file_struct *send_file_name(int f, struct file_list *flist, 168 168 #endif 169 169 #ifdef SUPPORT_XATTRS … … 304 304 + undo_make_mutable(fname, F_FFLAGS(file)); 305 305 +#endif 306 if ( allowed_lull && !(counter % lull_mod))307 maybe_send_keepalive();308 else if (!(counter & 0xFF))306 if (counter >= loopchk_limit) { 307 if (allowed_lull) 308 maybe_send_keepalive(); 309 309 diff --git a/log.c b/log.c 310 310 --- a/log.c 311 311 +++ b/log.c 312 @@ -6 56,7 +656,7 @@ static void log_formatted(enum logcode code, const char *format, const char *op,312 @@ -660,7 +660,7 @@ static void log_formatted(enum logcode code, const char *format, const char *op, 313 313 c[5] = !(iflags & ITEM_REPORT_PERMS) ? '.' : 'p'; 314 314 c[6] = !(iflags & ITEM_REPORT_OWNER) ? '.' : 'o'; … … 417 417 {"no-ignore-errors", 0, POPT_ARG_VAL, &ignore_errors, 0, 0, 0 }, 418 418 {"max-delete", 0, POPT_ARG_INT, &max_delete, 0, 0, 0 }, 419 @@ -18 52,6 +1878,9 @@ void server_options(char **args, int *argc_p)419 @@ -1866,6 +1892,9 @@ void server_options(char **args, int *argc_p) 420 420 if (xfer_dirs && !recurse && delete_mode && am_sender) 421 421 args[ac++] = "--no-r"; … … 427 427 if (asprintf(&arg, "--compress-level=%d", def_compress_level) < 0) 428 428 goto oom; 429 @@ -19 39,6 +1968,16 @@ void server_options(char **args, int *argc_p)429 @@ -1953,6 +1982,16 @@ void server_options(char **args, int *argc_p) 430 430 args[ac++] = "--delete-excluded"; 431 431 if (force_delete) … … 591 591 #define ITEM_XNAME_FOLLOWS (1<<12) 592 592 #define ITEM_IS_NEW (1<<13) 593 @@ -46 0,6 +463,28 @@ typedef unsigned int size_t;593 @@ -462,6 +465,28 @@ typedef unsigned int size_t; 594 594 #endif 595 595 #endif … … 620 620 * If some code depends on 32-bit truncation, it will need to 621 621 * take special action in a "#if SIZEOF_INT32 > 4" section. */ 622 @@ -63 0,6 +655,7 @@ extern int file_extra_cnt;622 @@ -632,6 +657,7 @@ extern int file_extra_cnt; 623 623 extern int inc_recurse; 624 624 extern int uid_ndx; … … 628 628 extern int xattrs_ndx; 629 629 630 @@ -66 7,6 +693,11 @@ extern int xattrs_ndx;630 @@ -669,6 +695,11 @@ extern int xattrs_ndx; 631 631 /* When the associated option is on, all entries will have these present: */ 632 632 #define F_OWNER(f) REQ_EXTRA(f, uid_ndx)->unum … … 712 712 comma-separated "chmod" strings to the permission of the files in the 713 713 transfer. The resulting value is treated as though it was the permissions 714 @@ -119 0,12 +1218,13 @@ See bf(--delete) (which is implied) for more details on file-deletion.714 @@ -1197,12 +1225,13 @@ See bf(--delete) (which is implied) for more details on file-deletion. 715 715 dit(bf(--ignore-errors)) Tells bf(--delete) to go ahead and delete files 716 716 even when there are I/O errors. … … 729 729 730 730 dit(bf(--max-delete=NUM)) This tells rsync not to delete more than NUM 731 @@ -16 51,7 +1680,7 @@ with older versions of rsync, but that also turns on the output of other731 @@ -1663,7 +1692,7 @@ with older versions of rsync, but that also turns on the output of other 732 732 verbose messages). 733 733 … … 738 738 other letters represent attributes that may be output if they are being 739 739 modified. 740 @@ -17 07,7 +1736,7 @@ quote(itemization(740 @@ -1719,7 +1748,7 @@ quote(itemization( 741 741 sender's value (requires bf(--owner) and super-user privileges). 742 742 it() A bf(g) means the group is different and is being updated to the … … 1061 1061 free_xattr(sxp); 1062 1062 return -1; 1063 @@ -86 1,6 +865,11 @@ int set_xattr(const char *fname, const struct file_struct *file,1063 @@ -864,6 +868,11 @@ int set_xattr(const char *fname, const struct file_struct *file, 1064 1064 return -1; 1065 1065 } … … 1073 1073 return rsync_xal_set(fname, lst + ndx, fnamecmp, sxp); 1074 1074 } 1075 @@ -9 77,7 +986,7 @@ int set_stat_xattr(const char *fname, struct file_struct *file, mode_t new_mode)1075 @@ -980,7 +989,7 @@ int set_stat_xattr(const char *fname, struct file_struct *file, mode_t new_mode) 1076 1076 mode = (fst.st_mode & _S_IFMT) | (fmode & ACCESSPERMS) 1077 1077 | (S_ISDIR(fst.st_mode) ? 0700 : 0600); … … 1225 1225 This option tells rsync to apply one or more 1226 1226 comma-separated \(lqchmod\(rq strings to the permission of the files in the 1227 @@ -136 0,13 +1392,14 @@ See \fB\-\-delete\fP (which is implied)1227 @@ -1367,13 +1399,14 @@ See \fB\-\-delete\fP (which is implied) 1228 1228 Tells \fB\-\-delete\fP to go ahead and delete files 1229 1229 even when there are I/O errors. … … 1243 1243 .IP 1244 1244 .IP "\fB\-\-max\-delete=NUM\fP" 1245 @@ -1 893,7 +1926,7 @@ with older versions of rsync, but that a1245 @@ -1905,7 +1938,7 @@ with older versions of rsync, but that a 1246 1246 verbose messages). 1247 1247 .IP … … 1252 1252 other letters represent attributes that may be output if they are being 1253 1253 modified. 1254 @@ -19 63,7 +1996,7 @@ sender's value (requires \fB\-\-owner\fP1254 @@ -1975,7 +2008,7 @@ sender's value (requires \fB\-\-owner\fP 1255 1255 A \fBg\fP means the group is different and is being updated to the 1256 1256 sender's value (requires \fB\-\-group\fP and the authority to set the group).

