A patch from Antti Tapaninen.
[rsync/rsync-patches.git] / xattrs.diff
index 9f212bb..bd35628 100644 (file)
@@ -360,7 +360,7 @@ TODO:
  
        /* Note that this field may not have type ino_t.  It depends
         * on the complicated interaction between largefile feature
-@@ -284,7 +288,7 @@ 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");
@@ -369,7 +369,7 @@ TODO:
    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");
-@@ -308,6 +312,9 @@ void usage(enum logcode F)
+@@ -312,6 +316,9 @@ void usage(enum logcode F)
  #ifdef SUPPORT_ACLS
    rprintf(F," -A, --acls                  preserve ACLs (implies --perms)\n");
  #endif
@@ -379,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");
-@@ -428,6 +435,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 },
@@ -389,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 },
-@@ -1105,6 +1115,17 @@ int parse_arguments(int *argc, const cha
+@@ -1112,6 +1122,17 @@ int parse_arguments(int *argc, const cha
                        return 0;
  #endif
  
@@ -407,7 +407,7 @@ TODO:
  
                default:
                        /* A large opt value means that set_refuse_options()
-@@ -1555,6 +1576,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
@@ -420,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