Detect change from worktree to non-worktree during sync
This commit is contained in:
26
src/lib.rs
26
src/lib.rs
@@ -135,15 +135,25 @@ fn sync_trees(config: Config) {
|
|||||||
);
|
);
|
||||||
process::exit(1);
|
process::exit(1);
|
||||||
}
|
}
|
||||||
repo_handle = Some(open_repo(&repo_path, repo.worktree_setup).unwrap_or_else(
|
repo_handle = match open_repo(&repo_path, repo.worktree_setup) {
|
||||||
|error| {
|
Ok(repo) => Some(repo),
|
||||||
print_repo_error(
|
Err(error) => {
|
||||||
&repo.name,
|
if !repo.worktree_setup {
|
||||||
&format!("Opening repository failed: {}", error),
|
if open_repo(&repo_path, true).is_ok() {
|
||||||
);
|
print_repo_error(
|
||||||
|
&repo.name,
|
||||||
|
"Repo already exists, but is using a worktree setup",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print_repo_error(
|
||||||
|
&repo.name,
|
||||||
|
&format!("Opening repository failed: {}", error),
|
||||||
|
);
|
||||||
|
}
|
||||||
process::exit(1);
|
process::exit(1);
|
||||||
},
|
}
|
||||||
));
|
};
|
||||||
} else if matches!(&repo.remotes, None) || repo.remotes.as_ref().unwrap().is_empty() {
|
} else if matches!(&repo.remotes, None) || repo.remotes.as_ref().unwrap().is_empty() {
|
||||||
print_repo_action(
|
print_repo_action(
|
||||||
&repo.name,
|
&repo.name,
|
||||||
|
|||||||
Reference in New Issue
Block a user