Add file history view (#42441)

Closes #16827

Release Notes:

- Added: File history view accessible via right-click context menu on
files in the editor or project panel. Shows commit history for the
selected file with author, timestamp, and commit message. Clicking a
commit opens a diff view filtered to show only changes for that specific
file.

<img width="1293" height="834" alt="Screenshot 2025-11-11 at 16 31 32"
src="https://github.com/user-attachments/assets/3780d21b-a719-40b3-955c-d928c45a47cc"
/>
<img width="1283" height="836" alt="Screenshot 2025-11-11 at 16 31 24"
src="https://github.com/user-attachments/assets/1dc4e56b-b225-4ffa-a2af-c5dcfb2efaa0"
/>

---------

Co-authored-by: cameron <cameron.studdstreet@gmail.com>
This commit is contained in:
ozzy
2025-12-01 13:25:33 +00:00
committed by GitHub
co-authored by cameron
parent 747dc23138
commit 05c2028068
19 changed files with 1703 additions and 394 deletions
+19
View File
@@ -446,6 +446,25 @@ impl GitRepository for FakeGitRepository {
})
}
fn file_history(&self, path: RepoPath) -> BoxFuture<'_, Result<git::repository::FileHistory>> {
self.file_history_paginated(path, 0, None)
}
fn file_history_paginated(
&self,
path: RepoPath,
_skip: usize,
_limit: Option<usize>,
) -> BoxFuture<'_, Result<git::repository::FileHistory>> {
async move {
Ok(git::repository::FileHistory {
entries: Vec::new(),
path,
})
}
.boxed()
}
fn stage_paths(
&self,
paths: Vec<RepoPath>,