]> git.ipfire.org Git - thirdparty/rsync.git/commitdiff
Add a slash-stripping version of rsync in support dir.
authorWayne Davison <wayned@samba.org>
Sat, 28 Jan 2012 18:39:40 +0000 (10:39 -0800)
committerWayne Davison <wayned@samba.org>
Sat, 28 Jan 2012 18:42:01 +0000 (10:42 -0800)
support/rsync-slash-strip [new file with mode: 0755]

diff --git a/support/rsync-slash-strip b/support/rsync-slash-strip
new file mode 100755 (executable)
index 0000000..43b82bf
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/bash
+# This script can be used as an rsync command-line filter that strips a single
+# trailing slash from each arg.  That treats "src/" the same as "src", thus
+# you need to use "src/." or "src//" for just the contents of the "src" dir.
+# (Note that command-line dir-excludes would need to use "excl//" too.)
+#
+# To use this, name it something like "rs", put it somewhere in your path, and
+# then use "rs" in place of "rsync" when you are typing your copy commands.
+args=()
+for arg in "${@}"; do
+    if [[ "$arg" == / ]]; then
+       args=("${args[@]}" /)
+    else
+       args=("${args[@]}" "${arg%/}")
+    fi
+done
+exec /usr/bin/rsync "${args[@]}"