Adding filter-attribute-mods patch; updating patches.
[rsync/rsync-patches.git] / source-backup.diff
index e5e802a..e2fee5d 100644 (file)
@@ -9,12 +9,12 @@ To use this patch, run these commands for a successful build:
 
 -- Matt McCutchen <hashproduct@gmail.com>
 
+based-on: 181c9faf928faad08ef095f4667afe460ec3bef6
 diff --git a/options.c b/options.c
-index e7c6c61..77fb180 100644
 --- a/options.c
 +++ b/options.c
-@@ -33,6 +33,7 @@ extern struct filter_list_struct filter_list;
- extern struct filter_list_struct daemon_filter_list;
+@@ -33,6 +33,7 @@ extern filter_rule_list filter_list;
+ extern filter_rule_list daemon_filter_list;
  
  int make_backups = 0;
 +int make_source_backups = 0;
@@ -37,7 +37,7 @@ index e7c6c61..77fb180 100644
    {"no-backup",        0,  POPT_ARG_VAL,    &make_backups, 0, 0, 0 },
    {"backup-dir",       0,  POPT_ARG_STRING, &backup_dir, 0, 0, 0 },
    {"suffix",           0,  POPT_ARG_STRING, &backup_suffix, 0, 0, 0 },
-@@ -2484,6 +2487,8 @@ void server_options(char **args, int *argc_p)
+@@ -2501,6 +2504,8 @@ void server_options(char **args, int *argc_p)
                                goto oom;
                        args[ac++] = arg;
                }
@@ -47,7 +47,6 @@ index e7c6c61..77fb180 100644
  
        /* --delete-missing-args needs the cooperation of both sides, but
 diff --git a/rsync.yo b/rsync.yo
-index 941f7a5..4080af2 100644
 --- a/rsync.yo
 +++ b/rsync.yo
 @@ -368,6 +368,7 @@ to the detailed description below for a complete description.  verb(
@@ -58,7 +57,7 @@ index 941f7a5..4080af2 100644
       --del                   an alias for --delete-during
       --delete                delete extraneous files from dest dirs
       --delete-before         receiver deletes before xfer, not during
-@@ -1182,6 +1183,14 @@ dit(bf(--remove-source-files)) This tells rsync to remove from the sending
+@@ -1197,6 +1198,14 @@ dit(bf(--remove-source-files)) This tells rsync to remove from the sending
  side the files (meaning non-directories) that are a part of the transfer
  and have been successfully duplicated on the receiving side.
  
@@ -74,10 +73,9 @@ index 941f7a5..4080af2 100644
  receiving side (ones that aren't on the sending side), but only for the
  directories that are being synchronized.  You must have asked rsync to
 diff --git a/sender.c b/sender.c
-index bf8221d..102540c 100644
 --- a/sender.c
 +++ b/sender.c
-@@ -39,6 +39,7 @@ extern int protocol_version;
+@@ -38,6 +38,7 @@ extern int protocol_version;
  extern int remove_source_files;
  extern int updating_basis_file;
  extern int make_backups;
@@ -85,7 +83,7 @@ index bf8221d..102540c 100644
  extern int inplace;
  extern int batch_fd;
  extern int write_batch;
-@@ -122,6 +123,7 @@ void successful_send(int ndx)
+@@ -121,6 +122,7 @@ void successful_send(int ndx)
        char fname[MAXPATHLEN];
        struct file_struct *file;
        struct file_list *flist;
@@ -93,7 +91,7 @@ index bf8221d..102540c 100644
  
        if (!remove_source_files)
                return;
-@@ -132,7 +134,11 @@ void successful_send(int ndx)
+@@ -131,7 +133,11 @@ void successful_send(int ndx)
                return;
        f_name(file, fname);