X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/fc5573623194fab2a331d1ffc8d284c9e25e06e7..7170ca8dba0a407cd0c91b41b48163c7b682abb1:/source-backup.diff diff --git a/source-backup.diff b/source-backup.diff index e5e802a..e2fee5d 100644 --- a/source-backup.diff +++ b/source-backup.diff @@ -9,12 +9,12 @@ To use this patch, run these commands for a successful build: -- Matt McCutchen +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);