diff options
| author | Can Celik <ogulcancelik@gmail.com> | 2026-07-25 04:26:55 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-07-25 04:26:55 +0300 |
| commit | d4e0dd3d903c50d2edb8c3cec71952a83989b310 (patch) | |
| tree | c90ec43a08fab1fc79e1d6db865c723877a051af /src/persist | |
| parent | b33e5f973fc89381aa4ac72b3a31fa087ec66e23 (diff) | |
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
Diffstat (limited to 'src/persist')
| -rw-r--r-- | src/persist/restore.rs | 7 |
1 files changed, 6 insertions, 1 deletions
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(), |
