gitui-org / gitui-org/gitui

Conflicted File Missing Diff and Content in Conflict State

Offen
#2,865 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug
Vorherrschende Sprache
Rust
Sterne
22.5k
Forks
773
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

**Describe the bug**
When a merge conflict occurs, GitUI fails to display the conflict markers or the diff for the conflicted file. Instead of showing the diff (e.g., between `HEAD` and the incoming branch), the diff view appears blank or displays an incorrect file size, making it difficult to resolve conflicts within the UI.

**To Reproduce**
Steps to reproduce the behavior:

1. Initialize a Git repository.
2. Create `file.txt` with "Original Line" on `master`.
3. Create branch `feature` from `master`.
4. On `master`, change `file.txt` to "Master Line" and commit.
5. On `feature`, change `file.txt` to "Feature Line" and commit.
6. On `master`, run `git merge feature` to trigger a conflict.
7. Open `gitui`.
8. Navigate to the "Status" tab and select the conflicted `file.txt`.
9. Observe that the diff view is blank or incorrect.

**Expected behavior**
GitUI should correctly display the conflict markers (e.g., `<<<<<<<`, `=======`, `>>>>>>>`) and provide a diff view that allows the user to see the differences between branches and ideally use the "Stage" or "Resolve" functions.

**Screenshots**

Image

Image

**Context**

- OS/Distro + Version: `Linux localhost 6.12.38+kali-amd64 #1 SMP PREEMPT_DYNAMIC Kali 6.12.38-1kali1 (2025-08-12) x86_64 GNU/Linux`
- GitUI Version: `gitui nightly 2025-12-15`
- Rust version: `rustc 1.93.1 (01f6ddf75 2026-02-11)`

**Additional context**
Current Git state and file content for reference:

### Git Status

```text
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)

Unmerged paths:
(use "git add ..." to mark resolution)
both modified: file.txt
```

### File Content (`file.txt`)

```text
<<<<<<< HEAD
Master Line
=======
Feature Line
>>>>>>> feature
```

### Git Diff

```diff
diff --cc file.txt
index 8ba2485,60a7231..0000000
--- a/file.txt
+++ b/file.txt
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
+Master Line
++=======
+ Feature Line
++>>>>>>> feature
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Reproduziere den Merge-Konflikt mit file.txt, inspiziere dann die in Konflikt geratene Datei über den Tab Status und verfolge, wie GitUI den Diff und die Dateigröße ermittelt. Erledigt ist die Aufgabe, wenn die Konfliktmarker und die Unterschiede zwischen den Branches korrekt in der Diff-Ansicht erscheinen und die vorhandenen Aktionen Stage oder Resolve weiterhin nutzbar sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
git, rust
Bereich
cli, devtools
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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