gitui-org / gitui-org/gitui

View combined directory diff / multiple files

Offen
#1,952 0 Kommentare 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
feature-request
Vorherrschende Sprache
Rust
Sterne
22.5k
Forks
773
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

**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)

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, das bestehende Verhalten der Dateiauswahl-Diffs in den Bereichen Status, Log, Stashes und Staged Changes nachzuverfolgen. Lege fest, wie die rekursive Ordnerauswahl, verkettete Diffs, Mehrfachauswahl und eine optionale Einstellung funktionieren sollen, und überprüfe anschließend, dass jeder betroffene Bereich die erwartete kombinierte Ausgabe anzeigt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
git, rust
Bereich
cli, devtools
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.