Git partially staged changes#46541
Conversation
|
Hi @cole-miller any thoughts on this approach? Thanks in advance! |
2196ad0 to
b594a94
Compare
|
Apparently no thoughts from the maintainers due to capacity issues + a draft status for over a month with no activity, so will close as stale for now. |
|
If this branch is our last chance to have this feature, I really hope we can reopen it. |
|
Hey, our team is going to take a look at this PR, we are interested in this feature. I can't make promises on timeline, but we'll reopen. |
|
@katie-z-geer this is great news! I'm more than happy to follow up on this PR and make any changes needed. Please let me know if the team would like to change the approach/implementation in any way and I'll prioritize pushing updates. Also if helpful, feel free (you or any other team members) to reach out via email if a different communication platform would help get this feature shipped david.richard.holtz@gmail.com |
|
Hi @katie-z-geer just following up to see if there are any updates from the team? I am a bit hesitant to make any updates to the PR without further feedback/direction from the team. Thanks again for reopening! |
|
Hey, I nudged them today. I'll keep you posted! |
|
this is the one of those feature due to which I have to keep my vscode open - only to see the git diff view panel. |
|
Hi @drbh, thanks for working on this and sorry for the delay in reviewing. We definitely want this feature in Zed and this is a great start. Some high-level feedback on the design of the PR as a first pass:
|
|
Hi @cole-miller thank you for the feedback! I've reviewed your comments and refactored this feature to move the logic out of the git_panel and into a please let me know if you have any more feedback regarding the overall approach. I'm planning to dedicate some time to clean up the PR/resolve conflicts and prepare to move it out of draft status, but would appreciate feedback for any other large changes before I tackle those items. Thanks again! |
|
Hi @drbh, thanks for the updates! This second revision is looking good. A couple of things:
|
|
@cole-miller thanks for the update, addressing the ProjectDiff changes now - and will be on the look out for your changes to how diffs are managed. Thanks! |
864e9ab to
036c4b5
Compare
Resolve merge conflicts in three files: - git_panel.rs: Keep both partially staged "U" indicator and new diff stats feature - project_diff.rs: Keep PR's diff base variants (Index, Staged) with upstream API changes - buffer_search.rs: Adopt upstream's split diff UI redesign, keep PR's diff mode toggle Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
small updates:
ready to follow up on the diff changes whenever they are ready |
This PR explores the addition of a new feature and UI to improve visibility into partially staged commits.
Currently, the Git panel shows tracked and untracked changes, but it does not clearly distinguish between staged and unstaged changes.
As a result, it’s difficult to quickly see which changes are not staged in the current UI. Both staged and unstaged changes are combined into the
Uncommitted Changesmultibuffer. This developer experience differs from other editors, most notably VS Code; which presents separate Staged Changes and Changes lists.Staged and unstaged diffs in multibuffers
This PR introduces an alternative UI for unstaged changes that aligns with the overall Zed experience. Instead of showing changes on a per-file basis, staged and unstaged diffs are each displayed in their own multibuffers, similar to how
Uncommitted Changescurrently works.For example the following screenshot shows the current
Uncommitted Changeson the left, theStaged Changesin the middle and theUnstaged Changesbuffer on the right for comparisonIndicators/interactions
The new multibuffers can be opened in two ways:
Uchip, which appears when a file has unstaged changes(See screenshots below for both interaction paths.)
via the chip
via the menu
Design goals
Experience goals
Uncommitted Changes)How to try
cargo runUindicator will appear)Uto see the unstaged viewOpen questions/rough edges
In general I'm really interested in hearing the community's feedback about this interface, more than happy to make any changes or explore a different solution!
Related issue:
Release Notes: