A patch from Antti Tapaninen.
[rsync/rsync-patches.git] / xattrs.diff
index 0b12de6..bd35628 100644 (file)
@@ -360,7 +360,16 @@ TODO:
  
        /* Note that this field may not have type ino_t.  It depends
         * on the complicated interaction between largefile feature
-@@ -308,6 +312,9 @@ void usage(enum logcode F)
+@@ -288,7 +292,7 @@ void usage(enum logcode F)
+   rprintf(F," -v, --verbose               increase verbosity\n");
+   rprintf(F," -q, --quiet                 suppress non-error messages\n");
+   rprintf(F," -c, --checksum              skip based on checksum, not mod-time & size\n");
+-  rprintf(F," -a, --archive               archive mode; same as -rlptgoD (no -H, -A)\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");
+   rprintf(F," -R, --relative              use relative path names\n");
+@@ -312,6 +316,9 @@ void usage(enum logcode F)
  #ifdef SUPPORT_ACLS
    rprintf(F," -A, --acls                  preserve ACLs (implies --perms)\n");
  #endif
@@ -370,7 +379,7 @@ TODO:
    rprintf(F,"     --chmod=CHMOD           change destination permissions\n");
    rprintf(F," -o, --owner                 preserve owner (super-user only)\n");
    rprintf(F," -g, --group                 preserve group\n");
-@@ -427,6 +434,9 @@ static struct poptOption long_options[] 
+@@ -433,6 +440,9 @@ static struct poptOption long_options[] 
    {"acls",            'A', POPT_ARG_NONE,   0, 'A', 0, 0 },
    {"no-acls",          0,  POPT_ARG_VAL,    &preserve_acls, 0, 0, 0 },
    {"no-A",             0,  POPT_ARG_VAL,    &preserve_acls, 0, 0, 0 },
@@ -380,7 +389,7 @@ TODO:
    {"times",           't', POPT_ARG_VAL,    &preserve_times, 1, 0, 0 },
    {"no-times",         0,  POPT_ARG_VAL,    &preserve_times, 0, 0, 0 },
    {"no-t",             0,  POPT_ARG_VAL,    &preserve_times, 0, 0, 0 },
-@@ -1109,6 +1119,17 @@ int parse_arguments(int *argc, const cha
+@@ -1112,6 +1122,17 @@ int parse_arguments(int *argc, const cha
                        return 0;
  #endif
  
@@ -398,7 +407,7 @@ TODO:
  
                default:
                        /* A large opt value means that set_refuse_options()
-@@ -1560,6 +1581,10 @@ void server_options(char **args,int *arg
+@@ -1562,6 +1583,10 @@ void server_options(char **args,int *arg
        if (preserve_acls)
                argstr[x++] = 'A';
  #endif
@@ -411,15 +420,15 @@ TODO:
        if (preserve_gid)
 --- old/rsync.c
 +++ new/rsync.c
-@@ -34,6 +34,7 @@ extern int verbose;
+@@ -33,6 +33,7 @@
+ extern int verbose;
  extern int dry_run;
- extern int logfile_format_has_i;
  extern int preserve_acls;
 +extern int preserve_xattrs;
  extern int preserve_perms;
  extern int preserve_executability;
  extern int preserve_times;
-@@ -223,6 +224,10 @@ int set_file_attrs(char *fname, struct f
+@@ -222,6 +223,10 @@ int set_file_attrs(char *fname, struct f
        if (preserve_acls && set_acl(fname, file, sxp) == 0)
                updated = 1;
  #endif
@@ -455,6 +464,15 @@ TODO:
  #define ACL_READY(sx) ((sx).acc_acl != NULL)
 --- old/rsync.yo
 +++ new/rsync.yo
+@@ -300,7 +300,7 @@ to the detailed description below for a 
+  -v, --verbose               increase verbosity
+  -q, --quiet                 suppress non-error messages
+  -c, --checksum              skip based on checksum, not mod-time & size
+- -a, --archive               archive mode; same as -rlptgoD (no -H, -A)
++ -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
+  -R, --relative              use relative path names
 @@ -322,6 +322,7 @@ to the detailed description below for a 
   -p, --perms                 preserve permissions
   -E, --executability         preserve executability
@@ -463,7 +481,7 @@ TODO:
       --chmod=CHMOD           change destination permissions
   -o, --owner                 preserve owner (super-user only)
   -g, --group                 preserve group
-@@ -809,6 +810,11 @@ version makes it incompatible with sendi
+@@ -811,6 +812,11 @@ version makes it incompatible with sendi
  rsync unless you double the bf(--acls) option (e.g. bf(-AA)).  This
  doubling is not needed when pulling files from an older rsync.