Conflicted File Missing Diff and Content in Conflict State
- 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**
**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