gitui-org / gitui-org/gitui

GitUI shows working-tree changes in cross-linked bare repos where Git reports no work tree

Offen
#2,867 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**
In a mutual bare-repo reference setup, `gitui` shows working-tree file changes while Git CLI reports there is no work tree.

Example mismatch:
- `git status` in `/i4/repo0` returns: `fatal: this operation must be run in a work tree`
- `gitui` in `/i4/repo0` still shows many unstaged entries (`HEAD`, `config`, `hooks/`, etc.)

This is misleading because the repo is not in a valid work-tree state for normal file status operations.

**To Reproduce**
Steps to reproduce the behavior:
1. Create two repos at fixed reproducible paths:
```bash
mkdir -p /i4/repo0 /i4/repo1
```
2. Initialize and cross-link git directories:
```bash
cd /i4/repo0
git init --bare
git init --separate-git-dir=../repo1

cd /i4/repo1
git init --bare
git init --separate-git-dir=../repo0
```
3. Verify CLI behavior in `/i4/repo0`:
```bash
cd /i4/repo0
git status
```
Expected CLI output:
```text
fatal: this operation must be run in a work tree
```
4. Run `gitui` in the same path:
```bash
cd /i4/repo0
gitui
```
5. Observe that `gitui` still lists unstaged/untracked files.When Git reports no work tree, `gitui` should not show normal working-tree file changes. It should present an error/state consistent with Git CLI.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Führe die aufgeführte, kreuzverknüpfte Reproduktion eines Bare-Repositorys aus und vergleiche `git status` mit den von `gitui` angezeigten Änderungen. Verfolge die Verarbeitung von Working Tree und Status und stelle dann sicher, dass dieser ungültige Zustand keine normalen Working-Tree-Einträge anzeigt und mit dem Fehlerverhalten von Git konsistent bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
git, rust
Bereich
cli
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
55/100

Neue Issues direkt in Ihr Postfach

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