summaryrefslogtreecommitdiff
path: root/support/rrsync
diff options
context:
space:
mode:
authordogvisor <13217529+dogvisor@users.noreply.github.com>2023-03-30 21:55:56 +0200
committerGitHub <noreply@github.com>2023-03-30 12:55:56 -0700
commit2c82006b1fcddcdfb12aceb838f4dff7531b6a7c (patch)
treef0aab3557cf2504a0c8e2e68e24a452ef4f471bb /support/rrsync
parent0698ea9aeb4044d615dc0ff2c6da24cea1bcc98e (diff)
downloadrsync-2c82006b1fcddcdfb12aceb838f4dff7531b6a7c.tar.gz
add rrsync option to enforce `--ignore-existing` (#461)
The `-no-overwrite` rrsync option disallows the updating of existing files for incoming rrsync copies.
Diffstat (limited to 'support/rrsync')
-rwxr-xr-xsupport/rrsync4
1 files changed, 4 insertions, 0 deletions
diff --git a/support/rrsync b/support/rrsync
index 94c85f59..4b4b87c5 100755
--- a/support/rrsync
+++ b/support/rrsync
@@ -258,6 +258,9 @@ def main():
if args.munge:
rsync_opts.append('--munge-links')
+
+ if args.no_overwrite:
+ rsync_opts.append('--ignore-existing')
if not rsync_args:
rsync_args = [ '.' ]
@@ -364,6 +367,7 @@ if __name__ == '__main__':
arg_parser.add_argument('-munge', action='store_true', help="Enable rsync's --munge-links on the server side.")
arg_parser.add_argument('-no-del', action='store_true', help="Disable rsync's --delete* and --remove* options.")
arg_parser.add_argument('-no-lock', action='store_true', help="Avoid the single-run (per-user) lock check.")
+ arg_parser.add_argument('-no-overwrite', action='store_true', help="Prevent overwriting existing files by enforcing --ignore-existing")
arg_parser.add_argument('-help', '-h', action='help', help="Output this help message and exit.")
arg_parser.add_argument('dir', metavar='DIR', help="The restricted directory to use.")
args = arg_parser.parse_args()