ZIm/crates/project/src
Max Brunsfeld 8546dc101d
Allow viewing past commits in Zed (#27636)
This PR adds functionality for loading the diff for an arbitrary git
commit, and displaying it in a tab. To retrieve the diff for the commit,
I'm using a single `git cat-file --batch` invocation to efficiently load
both the old and new versions of each file that was changed in the
commit.

Todo

* Features
* [x] Open the commit view when clicking the most recent commit message
in the commit panel
  * [x] Open the commit view when clicking a SHA in a git blame column
  * [x] Open the commit view when clicking a SHA in a commit tooltip
  * [x] Make it work over RPC
  * [x] Allow buffer search in commit view
* [x] Command palette action to open the commit for the current blame
line
* Styling
* [x] Add a header that shows the author, timestamp, and the full commit
message
  * [x] Remove stage/unstage buttons in commit view
  * [x] Truncate the commit message in the tab
* Bugs
  * [x] Dedup commit tabs within a pane
  * [x] Add a tooltip to the tab

Release Notes:

- Added the ability to show past commits in Zed. You can view the most
recent commit by clicking its message in the commit panel. And when
viewing a git blame, you can show any commit by clicking its sha.
2025-03-31 23:26:47 +00:00
..
debugger Debugger: Add conditional and hit conditional breakpoint functionality (#27760) 2025-03-31 19:12:23 +00:00
git_store Move repository state RPC handlers to the GitStore (#27391) 2025-03-26 18:23:44 -04:00
lsp_command Remove language::markdown (#25136) 2025-02-19 08:55:36 -07:00
lsp_store chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
manifest_tree chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
buffer_store.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
color_extractor.rs Simplify static expression to a constant (#23193) 2025-01-15 19:31:21 +00:00
connection_manager.rs Migrate most callers of git-related worktree APIs to use the GitStore (#27225) 2025-03-21 00:10:17 -04:00
debounced_delay.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
debugger.rs Set up Rust debugger code runner tasks (#27571) 2025-03-29 02:10:40 -04:00
direnv.rs Environment loading fixes (#19144) 2024-10-16 12:14:40 +02:00
environment.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
git_store.rs Allow viewing past commits in Zed (#27636) 2025-03-31 23:26:47 +00:00
image_store.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
lsp_command.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
lsp_store.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
manifest_tree.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
prettier_store.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
project.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
project_settings.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
project_tests.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
search.rs Revert "Use multi-line regex for '\s'" (#25926) 2025-03-03 10:32:49 -05:00
search_history.rs project search: Persist search history across session (#9932) 2024-04-02 11:13:18 +02:00
task_inventory.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
task_store.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
terminals.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
toolchain_store.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
worktree_store.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
yarn.rs Move "async move" a few characters to the left in cx.spawn() (#26758) 2025-03-19 02:09:02 +00:00