aboutsummaryrefslogtreecommitdiffstats
path: root/sbo-batch-test
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-07-11 10:56:40 +0200
committerDanilo M. <danix@danix.xyz>2026-07-11 10:56:40 +0200
commitb2ca2b700da2c3e7b84173402fc9736fb374ebdd (patch)
tree93c545cc2d6b0fff47d0fc7ed5421947d5b51529 /sbo-batch-test
parentd0ea4601820e639a261a9f1075e5358a8cb089af (diff)
downloadsbo-batch-tester-b2ca2b700da2c3e7b84173402fc9736fb374ebdd.tar.gz
sbo-batch-tester-b2ca2b700da2c3e7b84173402fc9736fb374ebdd.zip
Add rsync_excludes helper + self-check
Emits one anchored --exclude=/<dir>/ per SBO_PERSONAL_TREES key, so a future rsync-based tree sync never deletes personal/pentesting clones that are not on the sync source. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'sbo-batch-test')
-rwxr-xr-xsbo-batch-test10
1 files changed, 10 insertions, 0 deletions
diff --git a/sbo-batch-test b/sbo-batch-test
index 5f9695d..a29461b 100755
--- a/sbo-batch-test
+++ b/sbo-batch-test
@@ -321,6 +321,16 @@ update_base() {
echo "Base patched."
}
+# Echo one anchored `--exclude=/<dir>/` per SBO_PERSONAL_TREES key, one per
+# line. Anchored to the tree root so rsync --delete never wipes a personal
+# clone (they are not on the rsync source). Empty when no personal trees.
+rsync_excludes() {
+ local dir
+ for dir in "${!SBO_PERSONAL_TREES[@]}"; do
+ echo "--exclude=/$dir/"
+ done
+}
+
# =============================================================================
# Package cache. Persistent, on-disk store of built packages so unchanged deps
# are installed from cache instead of rebuilt. Layout mirrors the SBo tree: