Detect change from worktree to non-worktree during sync

This commit is contained in:
2021-11-29 00:28:41 +01:00
parent f5f8dfa188
commit 340085abf8

View File

@@ -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,