summaryrefslogtreecommitdiffstats
path: root/rsync.sh
diff options
context:
space:
mode:
Diffstat (limited to 'rsync.sh')
-rw-r--r--rsync.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/rsync.sh b/rsync.sh
index 165d360..d94677b 100644
--- a/rsync.sh
+++ b/rsync.sh
@@ -105,3 +105,25 @@ function systr_rsync_merge
rsync -azb --suffix='*' --exclude='*.systr' \
"$src" "$dst"
}
+
+##
+# systrunk clone <source> <destination>
+#
+# Recursively create a complete copy of a directory tree
+# which, presumabally, contains systrunk repositories.
+# This copy preserves all underlying hard-links as to
+# preserve the disk space saved by systrunk commit. Note:
+# --delete is passed to rsync!
+##
+function systr_clone
+{
+ if [ $# -lt 2 ]; then
+ echo "Fatal: too few args to clone" >&2
+ exit 1
+ fi
+
+ src="$1"
+ dst="$2"
+
+ rsync -azH --info=progress2 --info=stats2 --delete "$src" "$dst"
+}