From 91824bc53c51c22c046e3e2be61969d00cf20a93 Mon Sep 17 00:00:00 2001 From: Kastrah Date: Mon, 26 Jan 2026 11:42:37 +0100 Subject: [PATCH] fix: use rsync in sync-upstream to avoid circular symlinks in node_modules --- scripts/sync-upstream.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/scripts/sync-upstream.sh b/scripts/sync-upstream.sh index 1ee7c7277..e26db7df0 100755 --- a/scripts/sync-upstream.sh +++ b/scripts/sync-upstream.sh @@ -67,7 +67,10 @@ backup_local() { if [[ -d "$REPO_DIR/$ext" ]]; then local dest="$BACKUP_DIR/$ext" mkdir -p "$(dirname "$dest")" - cp -r "$REPO_DIR/$ext" "$dest" + # Use rsync to exclude node_modules and avoid circular symlinks + rsync -a --exclude='node_modules' "$REPO_DIR/$ext/" "$dest/" 2>/dev/null || { + warn " Backup of $ext had warnings (likely circular symlinks)" + } info " Backed up: $ext" fi done @@ -91,7 +94,9 @@ restore_local() { if [[ -d "$src" ]]; then # Remove upstream version if exists (unlikely for local-only) rm -rf "$dest" - cp -r "$src" "$dest" + mkdir -p "$dest" + # Use rsync for consistency with backup + rsync -a "$src/" "$dest/" info " Restored: $ext" fi done