X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/cc3e685d09b2095099fc396157d19172ab3ef7c4..0ef5abcbbb95298fa9faf1d3eb275a9e76e1d951:/source-backup.diff diff --git a/source-backup.diff b/source-backup.diff index 82ab782..38386fb 100644 --- a/source-backup.diff +++ b/source-backup.diff @@ -12,15 +12,15 @@ To use this patch, run these commands for a successful build: diff --git a/options.c b/options.c --- a/options.c +++ b/options.c -@@ -31,6 +31,7 @@ extern struct filter_list_struct filter_list; - extern struct filter_list_struct server_filter_list; +@@ -33,6 +33,7 @@ extern struct filter_list_struct filter_list; + extern struct filter_list_struct daemon_filter_list; int make_backups = 0; +int make_source_backups = 0; /** * If 1, send the whole file as literal data rather than trying to -@@ -361,6 +362,7 @@ void usage(enum logcode F) +@@ -368,6 +369,7 @@ void usage(enum logcode F) rprintf(F," --existing skip creating new files on receiver\n"); rprintf(F," --ignore-existing skip updating files that already exist on receiver\n"); rprintf(F," --remove-source-files sender removes synchronized files (non-dirs)\n"); @@ -28,7 +28,7 @@ diff --git a/options.c b/options.c rprintf(F," --del an alias for --delete-during\n"); rprintf(F," --delete delete extraneous files from destination dirs\n"); rprintf(F," --delete-before receiver deletes before transfer, not during\n"); -@@ -588,6 +590,7 @@ static struct poptOption long_options[] = { +@@ -608,6 +610,7 @@ static struct poptOption long_options[] = { {"bwlimit", 0, POPT_ARG_INT, &bwlimit, 0, 0, 0 }, {"no-bwlimit", 0, POPT_ARG_VAL, &bwlimit, 0, 0, 0 }, {"backup", 'b', POPT_ARG_VAL, &make_backups, 1, 0, 0 }, @@ -36,7 +36,7 @@ diff --git a/options.c b/options.c {"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 }, -@@ -1894,6 +1897,8 @@ void server_options(char **args, int *argc_p) +@@ -1967,6 +1970,8 @@ void server_options(char **args, int *argc_p) goto oom; args[ac++] = arg; } @@ -48,7 +48,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.yo b/rsync.yo --- a/rsync.yo +++ b/rsync.yo -@@ -361,6 +361,7 @@ to the detailed description below for a complete description. verb( +@@ -365,6 +365,7 @@ to the detailed description below for a complete description. verb( --existing skip creating new files on receiver --ignore-existing skip updating files that exist on receiver --remove-source-files sender removes synchronized files (non-dir) @@ -56,7 +56,7 @@ diff --git a/rsync.yo b/rsync.yo --del an alias for --delete-during --delete delete extraneous files from dest dirs --delete-before receiver deletes before transfer (default) -@@ -1085,6 +1086,14 @@ dit(bf(--remove-source-files)) This tells rsync to remove from the sending +@@ -1115,6 +1116,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. @@ -90,7 +90,7 @@ diff --git a/sender.c b/sender.c if (!remove_source_files) return; -@@ -139,7 +141,11 @@ void successful_send(int ndx) +@@ -133,7 +135,11 @@ void successful_send(int ndx) return; f_name(file, fname);