diff --git a/crates/collab_ui/src/collab_titlebar_item.rs b/crates/collab_ui/src/collab_titlebar_item.rs index de9f9615d5..41d0315ee3 100644 --- a/crates/collab_ui/src/collab_titlebar_item.rs +++ b/crates/collab_ui/src/collab_titlebar_item.rs @@ -178,7 +178,9 @@ impl CollabTitlebarItem { let branch = worktree .read(cx) .snapshot() - .git_branch() + .root_git_entry() + .and_then(|entry| entry.branch()) + .map(|branch| branch.to_string()) .unwrap_or_else(|| "".to_owned()); format!("{} / {}", name, branch) } @@ -206,7 +208,7 @@ impl CollabTitlebarItem { Label::new(title.to_owned(), text_style) .contained() - .with_margin_right(dbg!(item_spacing)) + .with_margin_right(item_spacing) .aligned() .left() .into_any_named("title-with-git-information") diff --git a/crates/project/src/worktree.rs b/crates/project/src/worktree.rs index 88886347bc..fed98d49ed 100644 --- a/crates/project/src/worktree.rs +++ b/crates/project/src/worktree.rs @@ -1484,10 +1484,6 @@ impl Snapshot { pub fn inode_for_path(&self, path: impl AsRef) -> Option { self.entry_for_path(path.as_ref()).map(|e| e.inode) } - - pub fn git_branch(&self) -> Option { - Some("test".to_owned()) - } } impl LocalSnapshot { @@ -1700,6 +1696,7 @@ impl LocalSnapshot { let key = RepositoryWorkDirectory(content_path.clone()); if self.repository_entries.get(&key).is_none() { if let Some(repo) = fs.open_repo(abs_path.as_path()) { + let repo_lock = repo.lock(); self.repository_entries.insert( key.clone(), RepositoryEntry { @@ -1707,9 +1704,10 @@ impl LocalSnapshot { git_dir_entry_id: parent_entry.id, work_directory: key, scan_id: 0, - branch: None, + branch: repo_lock.branch_name().map(Into::into), }, ); + drop(repo_lock); self.git_repositories.insert(parent_entry.id, repo) }