gitui-org / gitui-org/gitui

View combined directory diff / multiple files

Open
#1,952 0 comments 4 reactions 0 assignees View on GitHub
feature-request
Dominant language
Rust
Stars
22.5k
Forks
773
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**
I want to view the diffs of multiple files in a folder when the folder is selected.
It's frustrating to me when I have to go through separate files which all contain small changes, when those files are in the same folder.

**Describe the solution you'd like**
When a folder is selected in the left pane, the right pane should show a concatenated diff of all the files in that folder.
If there are multiple sub-directories, these files' diffs should also be shown.
Ideally, this would also be a configurable setting, for people who do not like this behavior. The default can be the currently existing behavior.
Even more advanced, it would somehow be possible to select multiple files and folders in the left pane. Then, the combined diffs of the selected files is shown on the right.

**Describe alternatives you've considered**
If this is already possible somehow, please let me know. I've searched through the existing issues and docs and came up empty.

**Additional context**
- I know the feature from e.g. [SourceTree](https://www.sourcetreeapp.com/).
- This probably affects the `Status`, `Log`, and `Stashes` tabs.
- Of course also in the `Staged Changes` pane.

Screenshots:

![Screenshot 2023-11-14 at 10 37 38](https://github.com/extrawurst/gitui/assets/9076894/a001f8a1-c344-4682-8abc-2d77a15b2868)
![Screenshot 2023-11-14 at 10 38 21](https://github.com/extrawurst/gitui/assets/9076894/ba4d50ff-35d8-40b2-b1f3-87c9d131c661)
![Screenshot 2023-11-14 at 10 38 50](https://github.com/extrawurst/gitui/assets/9076894/959bdc36-3a51-4214-8b8c-4b23c0bdace0)

Here, when the `src` directory is selected, the diff contents of `cmdbar.rs` and `main.rs` should be displayed to the right, one after the other, as if the results when each file is selected are concatenated.

This is what it looks like in Sourcetree:

![Screenshot 2023-11-14 at 10 45 32](https://github.com/extrawurst/gitui/assets/9076894/1c421342-0974-4402-ab44-be7557e8c2c1)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.