aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--alacritty/src/migrate/mod.rs8
2 files changed, 9 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 15bdaa2b..ed471ce7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,6 +24,7 @@ Notable changes to the `alacritty_terminal` crate are documented in its
- Hint launcher opening arbitrary text, when terminal content changed while opening
- `SemanticRight`/`SemanticLeft` vi motions breaking with wide semantic escape characters
- `alacritty migrate` crashing with recursive toml imports
+- Migrating nonexistent toml import breaking the entire migration
## 0.14.0
diff --git a/alacritty/src/migrate/mod.rs b/alacritty/src/migrate/mod.rs
index ffba25f0..bfa72294 100644
--- a/alacritty/src/migrate/mod.rs
+++ b/alacritty/src/migrate/mod.rs
@@ -151,6 +151,14 @@ fn migrate_imports(
// Migrate each import.
for import in imports.into_iter().filter_map(|item| item.as_str()) {
let normalized_path = config::normalize_import(path, import);
+
+ if !normalized_path.exists() {
+ if options.dry_run {
+ println!("Skipping migration for nonexistent path: {}", normalized_path.display());
+ }
+ continue;
+ }
+
let migration = migrate_config(options, &normalized_path, recursion_limit - 1)?;
if options.dry_run {
println!("{}", migration.success_message(true));