aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsbo-batch-test12
1 files changed, 12 insertions, 0 deletions
diff --git a/sbo-batch-test b/sbo-batch-test
index a29461b..f2b9c14 100755
--- a/sbo-batch-test
+++ b/sbo-batch-test
@@ -331,6 +331,18 @@ rsync_excludes() {
done
}
+# rsync the SBo tree from SBO_RSYNC_URL into <root>, excluding every personal
+# subtree from transfer AND deletion. Flags match sbopkg's own rsync (files
+# root:root). Returns rsync's exit status; caller decides hard-fail vs warn.
+rsync_tree() {
+ local root="$1"
+ local excludes=()
+ mapfile -t excludes < <(rsync_excludes)
+ rsync -a --delete --no-owner --no-group \
+ "${excludes[@]}" \
+ "$SBO_RSYNC_URL/" "$root/"
+}
+
# =============================================================================
# Package cache. Persistent, on-disk store of built packages so unchanged deps
# are installed from cache instead of rebuilt. Layout mirrors the SBo tree: