-- Matt McCutchen <hashproduct@gmail.com>
-based-on: 3b8f8192227b14e708bf535072485e50f4362270
+based-on: a01e3b490eb36ccf9e704840e1b6683dab867550
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
rprintf(F," --delete delete extraneous files from destination dirs\n");
rprintf(F," --delete-before receiver deletes before transfer, not during\n");
@@ -967,6 +969,7 @@ static struct poptOption long_options[] = {
- {"bwlimit", 0, POPT_ARG_INT, &bwlimit, 0, 0, 0 },
+ {"bwlimit", 0, POPT_ARG_STRING, &bwlimit_arg, OPT_BWLIMIT, 0, 0 },
{"no-bwlimit", 0, POPT_ARG_VAL, &bwlimit, 0, 0, 0 },
{"backup", 'b', POPT_ARG_VAL, &make_backups, 1, 0, 0 },
+ {"source-backup", 0, POPT_ARG_NONE, &make_source_backups, 0, 0, 0},
{"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 },
-@@ -2502,6 +2505,8 @@ void server_options(char **args, int *argc_p)
+@@ -2536,6 +2539,8 @@ void server_options(char **args, int *argc_p)
goto oom;
args[ac++] = arg;
}
extern int inplace;
extern int batch_fd;
extern int write_batch;
-@@ -124,6 +125,7 @@ void successful_send(int ndx)
+@@ -126,6 +127,7 @@ void successful_send(int ndx)
char fname[MAXPATHLEN];
struct file_struct *file;
struct file_list *flist;
if (!remove_source_files)
return;
-@@ -134,7 +136,11 @@ void successful_send(int ndx)
+@@ -136,7 +138,11 @@ void successful_send(int ndx)
return;
f_name(file, fname);