branch_list: Bail in case of missing worktrees. (#2726)

Z-2632

Release Notes:
- Fixed a crash that occurred when opening a modal branch picker without
a corktree.
This commit is contained in:
Piotr Osiewicz 2023-07-14 21:41:11 +02:00 committed by GitHub
commit 369ccc725c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -106,12 +106,14 @@ impl PickerDelegate for BranchListDelegate {
.read_with(&mut cx, |view, cx| { .read_with(&mut cx, |view, cx| {
let delegate = view.delegate(); let delegate = view.delegate();
let project = delegate.workspace.read(cx).project().read(&cx); let project = delegate.workspace.read(cx).project().read(&cx);
let mut cwd =
project let Some(worktree) = project
.visible_worktrees(cx) .visible_worktrees(cx)
.next() .next()
.unwrap() else {
.read(cx) bail!("Cannot update branch list as there are no visible worktrees")
};
let mut cwd = worktree .read(cx)
.abs_path() .abs_path()
.to_path_buf(); .to_path_buf();
cwd.push(".git"); cwd.push(".git");