gitui-org / gitui-org/gitui

Conflicted File Missing Diff and Content in Conflict State

Ouverte
#2,865 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug
Langage dominant
Rust
Étoiles
22.5k
Forks
774
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Reproduisez le conflit de merge avec file.txt, puis inspectez le fichier en conflit depuis l’onglet Status et suivez la manière dont GitUI obtient le diff et la taille du fichier. C’est terminé lorsque les marqueurs de conflit et les différences entre les branches apparaissent correctement dans la vue diff, et que les actions existantes Stage ou Resolve restent utilisables.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
git, rust
Domaine
cli, devtools
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.