From 5d9fef3bc0320e1db2823e910a475b9725e8bee5 Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Thu, 9 Oct 2025 12:03:49 -1000 Subject: [PATCH] Improve swap-deps error handling for deleted directories MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When swap-deps encounters a missing directory path (e.g., a deleted Conductor workspace), it now provides a helpful error message that: - Clearly states which path doesn't exist - Explains common causes (outdated .swap-deps.yml, deleted repo) - Suggests fixes (update config or use --restore) This makes the tool more user-friendly when dealing with stale configuration files that reference non-existent paths. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- lib/demo_scripts/gem_swapper.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/demo_scripts/gem_swapper.rb b/lib/demo_scripts/gem_swapper.rb index 76b493d..3c112d1 100644 --- a/lib/demo_scripts/gem_swapper.rb +++ b/lib/demo_scripts/gem_swapper.rb @@ -519,7 +519,15 @@ def validate_local_paths! gem_paths.each do |gem_name, path| next if File.directory?(path) - raise Error, "Local path for #{gem_name} does not exist: #{path}" + error_msg = "Local path for #{gem_name} does not exist: #{path}\n\n" + error_msg += "This usually means:\n" + error_msg += " 1. The path in .swap-deps.yml is outdated\n" + error_msg += " 2. You moved or deleted the local repository\n\n" + error_msg += "To fix:\n" + error_msg += " - Update .swap-deps.yml with the correct path\n" + error_msg += ' - Or use --restore to restore original dependencies' + + raise Error, error_msg end end