X-Git-Url: https://mattmccutchen.net/rsync/rsync-patches.git/blobdiff_plain/7170ca8dba0a407cd0c91b41b48163c7b682abb1..refs/heads/master:/source-backup.diff diff --git a/source-backup.diff b/source-backup.diff index e2fee5d..4fa8937 100644 --- a/source-backup.diff +++ b/source-backup.diff @@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build: -- Matt McCutchen -based-on: 181c9faf928faad08ef095f4667afe460ec3bef6 +based-on: a01e3b490eb36ccf9e704840e1b6683dab867550 diff --git a/options.c b/options.c --- a/options.c +++ b/options.c @@ -21,7 +21,7 @@ diff --git a/options.c b/options.c /** * If 1, send the whole file as literal data rather than trying to -@@ -712,6 +713,7 @@ void usage(enum logcode F) +@@ -713,6 +714,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"); @@ -29,15 +29,15 @@ 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"); -@@ -966,6 +968,7 @@ static struct poptOption long_options[] = { - {"bwlimit", 0, POPT_ARG_INT, &bwlimit, 0, 0, 0 }, +@@ -967,6 +969,7 @@ static struct poptOption long_options[] = { + {"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 }, -@@ -2501,6 +2504,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; } @@ -57,7 +57,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 xfer, not during -@@ -1197,6 +1198,14 @@ dit(bf(--remove-source-files)) This tells rsync to remove from the sending +@@ -1198,6 +1199,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. @@ -75,7 +75,7 @@ diff --git a/rsync.yo b/rsync.yo diff --git a/sender.c b/sender.c --- a/sender.c +++ b/sender.c -@@ -38,6 +38,7 @@ extern int protocol_version; +@@ -39,6 +39,7 @@ extern int protocol_version; extern int remove_source_files; extern int updating_basis_file; extern int make_backups; @@ -83,7 +83,7 @@ diff --git a/sender.c b/sender.c extern int inplace; extern int batch_fd; extern int write_batch; -@@ -121,6 +122,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; @@ -91,7 +91,7 @@ diff --git a/sender.c b/sender.c if (!remove_source_files) return; -@@ -131,7 +133,11 @@ void successful_send(int ndx) +@@ -136,7 +138,11 @@ void successful_send(int ndx) return; f_name(file, fname);