From db9462d31cc8fc6994fc312ba9d74409afa0d61d Mon Sep 17 00:00:00 2001 From: einerlei <31n34731@gmail.com> Date: Mon, 4 May 2026 16:55:42 +0200 Subject: [PATCH] fix: use cp -rP to preserve symlinks in backup Switch from cp -r to cp -rP so that symbolic links inside the Claude directory are copied as symlinks rather than dereferenced, preventing the backup from breaking links that point outside the directory. Co-Authored-By: Claude Sonnet 4.6 --- .claude-plugin/marketplace.json | 2 +- .claude-plugin/plugin.json | 2 +- CHANGELOG.md | 5 +++++ install.sh | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 9acab44..aa953d7 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -8,7 +8,7 @@ "name": "workflow-orchestrator", "source": "./", "description": "Delegation system with workflow orchestration, specialized agents, and parallel execution for Claude Code", - "version": "2.1.0", + "version": "2.1.1", "author": { "name": "Nadav Barkai" }, diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 08a6f34..8eaeace 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "workflow-orchestrator", - "version": "2.1.0", + "version": "2.1.1", "description": "Delegation system with workflow orchestration, specialized agents, and parallel execution for Claude Code", "author": { "name": "Nadav Barkai" diff --git a/CHANGELOG.md b/CHANGELOG.md index d4a3c8e..2aba115 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ All notable changes to this project will be documented in this file. +## [2.1.1] - 2026-05-04 + +### Fixed +- **`install.sh`: use `cp -rP` to preserve symlinks in backup.** Switched from `cp -r` to `cp -rP` so symbolic links inside the Claude directory are copied as symlinks rather than dereferenced, preventing backups from breaking links that point outside the directory. + ## [2.1.0] - 2026-04-26 ### BREAKING CHANGES diff --git a/install.sh b/install.sh index e87ba7f..6a9729a 100755 --- a/install.sh +++ b/install.sh @@ -193,7 +193,7 @@ backup_existing_installation() { print_info "Existing installation found at $claude_dir" print_info "Creating backup at: $backup_name" - if cp -r "$claude_dir" "$backup_name"; then + if cp -rP "$claude_dir" "$backup_name"; then print_success "Backup created successfully: $backup_name" # Set global variable for trap handler restore operations BACKUP_PATH="$backup_name"