Matt McCutchen's Web Site
/
rsync
/
rsync-patches.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Switched over to using binary data in the xattr values.
[rsync/rsync-patches.git]
/
source-backup.diff
diff --git
a/source-backup.diff
b/source-backup.diff
index
ee1e263
..
9071ac9
100644
(file)
--- a/
source-backup.diff
+++ b/
source-backup.diff
@@
-1,6
+1,5
@@
-This patch to rsync 2.6.9 adds a --source-backup option that backs up source
-files removed due to --remove-source-files. In my limited testing, it seems
-to work.
+This patch adds a --source-backup option that backs up source files
+removed due to --remove-source-files.
To use this patch, run these commands for a successful build:
To use this patch, run these commands for a successful build:
@@
-20,7
+19,7
@@
To use this patch, run these commands for a successful build:
/**
* If 1, send the whole file as literal data rather than trying to
/**
* If 1, send the whole file as literal data rather than trying to
-@@ -35
0,6 +351
,7 @@ void usage(enum logcode F)
+@@ -35
1,6 +352
,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");
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,15
+27,15
@@
To use this patch, run these commands for a successful build:
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");
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");
-@@ -559,6 +561,7 @@ static struct poptOption long_options[]
- {"itemize-changes", 'i', POPT_ARG_NONE, 0, 'i', 0, 0 },
+@@ -570,6 +572,7 @@ static struct poptOption long_options[]
{"bwlimit", 0, POPT_ARG_INT, &bwlimit, 0, 0, 0 },
{"bwlimit", 0, POPT_ARG_INT, &bwlimit, 0, 0, 0 },
- {"backup", 'b', POPT_ARG_NONE, &make_backups, 0, 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},
+ {"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 },
{"backup-dir", 0, POPT_ARG_STRING, &backup_dir, 0, 0, 0 },
{"suffix", 0, POPT_ARG_STRING, &backup_suffix, 0, 0, 0 },
- {"list-only", 0, POPT_ARG_VAL, &list_only, 2, 0, 0 },
-@@ -1820,7 +1823,8 @@ void server_options(char **args,int *arg
+@@ -1836,7 +1839,8 @@ void server_options(char **args,int *arg
args[ac++] = "--super";
if (size_only)
args[ac++] = "--size-only";
args[ac++] = "--super";
if (size_only)
args[ac++] = "--size-only";
@@
-48,7
+47,7
@@
To use this patch, run these commands for a successful build:
if (asprintf(&arg, "--modify-window=%d", modify_window) < 0)
--- old/rsync.yo
+++ new/rsync.yo
if (asprintf(&arg, "--modify-window=%d", modify_window) < 0)
--- old/rsync.yo
+++ new/rsync.yo
-@@ -3
44,6 +344
,7 @@ to the detailed description below for a
+@@ -3
50,6 +350
,7 @@ to the detailed description below for a
--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)
--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,18
+55,17
@@
To use this patch, run these commands for a successful build:
--del an alias for --delete-during
--delete delete extraneous files from dest dirs
--delete-before receiver deletes before transfer (default)
--del an alias for --delete-during
--delete delete extraneous files from dest dirs
--delete-before receiver deletes before transfer (default)
-@@ -
998,6 +999,15
@@ dit(bf(--remove-source-files)) This tell
+@@ -
1004,6 +1005,14
@@ dit(bf(--remove-source-files)) This tell
side the files (meaning non-directories) that are a part of the transfer
and have been successfully duplicated on the receiving side.
+dit(bf(--source-backup)) Makes the sender back up the source files it removes
+due to bf(--remove-source-files). This option is independent of
+bf(--backup) but uses the same bf(--backup-dir) and bf(--suffix) settings,
side the files (meaning non-directories) that are a part of the transfer
and have been successfully duplicated on the receiving side.
+dit(bf(--source-backup)) Makes the sender back up the source files it removes
+due to bf(--remove-source-files). This option is independent of
+bf(--backup) but uses the same bf(--backup-dir) and bf(--suffix) settings,
-+if any. With bf(--backup-dir), each backup file is placed inside the backup
-+dir according to the source file's full path from the working directory
-+(source argument path + file-list path); if you want files placed according
-+to the file-list path, you could either make appropriate symlinks or have the
-+sender "cd" into the source directory so that the source argument is just ".".
++if any. With bf(--backup-dir), rsync looks for each file's backup dir relative
++to the source argument the file came from. Consequently, if the
++bf(--backup-dir) path is relative, each source argument gets a separate backup
++dir at that path relative to the argument.
+
dit(bf(--delete)) This tells rsync to delete extraneous files from the
receiving side (ones that aren't on the sending side), but only for the
+
dit(bf(--delete)) This tells rsync to delete extraneous files from the
receiving side (ones that aren't on the sending side), but only for the