From d4e0dd3d903c50d2edb8c3cec71952a83989b310 Mon Sep 17 00:00:00 2001 From: Can Celik Date: Sat, 25 Jul 2026 04:26:55 +0300 Subject: perf: eliminate repeated workspace git discovery (#1842) * perf: eliminate repeated workspace git discovery refs #1838 * fix: keep workspace labels current without extra redraws refs #1838 * fix: retain discovered workspace git metadata refs #1838 --- src/persist/restore.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/persist') diff --git a/src/persist/restore.rs b/src/persist/restore.rs index e442ac17..a1b07710 100644 --- a/src/persist/restore.rs +++ b/src/persist/restore.rs @@ -403,15 +403,20 @@ fn restore_workspace( } let worktree_space = restored_worktree_space_membership(snap.worktree_space.clone()); + let (cached_git_space, cached_auto_label, cached_git_status_key) = + crate::workspace::discover_workspace_git_identity(&snap.identity_cwd); ( Some(Workspace { id: workspace_id, custom_name: snap.custom_name.clone(), identity_cwd: snap.identity_cwd.clone(), + cached_identity_cwd: snap.identity_cwd.clone(), + cached_auto_label, + cached_git_status_key, cached_git_branch: crate::workspace::git_branch(&snap.identity_cwd), cached_git_ahead_behind: None, - cached_git_space: crate::workspace::git_space_metadata(&snap.identity_cwd), + cached_git_space, worktree_space, metadata_tokens: crate::metadata_tokens::MetadataTokens::default(), metadata_token_sequences: HashMap::new(), -- cgit v1.2.3