gitui-org / gitui-org/gitui

Panic on request to unstage lines

Aperta
#2,323 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
bug
Lingua principale
Rust
Stelle
22.5k
Fork
773
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Any attempt to unstage one or more lines in a staged file results in an unexpected panic.

Steps to reproduce the behavior:
1. Stage a file with changes
2. Select one or more lines in a hunk in the staged file
3. Press `s` to unstage the lines
4. The following is displayed
```
GitUI was close due to an unexpected panic.
Please file an issue on https://github.com/extrawurst/gitui/issues with the following info:

PanicInfo { payload: Any { .. }, message: Some(index out of bounds: the len is 202 but the index is 202), location: Location { file: "asyncgit\\src\\sync\\staging\\mod.rs", line: 42, col: 25 }, can_unwind: true, force_no_backtrace: false }
trace:
0: git_odb_object_data
1:
2: git_odb_object_data
3: git_odb_object_data
4: git_odb_object_data
5: git_odb_object_data
6: git_midx_writer_new
7: git_midx_writer_new
8: git_odb_object_data
9: git_odb_object_data
10:
11:
12:
13:
14:
15:
16:
17:
18: git_midx_writer_new
19: BaseThreadInitThunk
20: RtlUserThreadStart
```

I expected the selected lines to be removed from the hunk in the staged file and a new unstaged version of the file to be shown with a new hunk containing the lines I requested to unstage.

- OS/Distro + Version: Windows 10 version 22H2 (OS Build 19045.4651)
- GitUI Version: gitui 0.26.3 2024-06-02 (95e1d4d)
- Rust version: Rust not installed. gitui binary installed with Chocolatey.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Riproduci l’azione per annullare lo staging di una riga in GitUI 0.26.3 e inizia da asyncgit/src/sync/staging/mod.rs alla riga 42, dove si verifica il panic di accesso all’indice fuori dai limiti segnalato. Segui il percorso di staging delle righe selezionate e verifica che premendo `s` le righe selezionate vengano rimosse dall’hunk in staging e visualizzate in un nuovo hunk non in staging senza causare un panic.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
git, rust
Ambito
cli
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
55/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.