repo.status() appears to be broken?
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 1.7k
- Forks
- 408
- Ø Merge
- 2 T. 57 Min.
- Gemergte PRs (30 T.)
- 7
Beschreibung
I'm running repo.status().items() in a pre-commit hook using the -a flag (git commit -a -m "Test"), and I get a result that looks like this:
[('config/git_hooks/pre-commit', 256), ('bin/run_flake8', 256)]
If I run git status in that same process, I get:
On branch ops_1331_fix
Your branch is ahead of 'origin/ops_1331_fix' by 2 commits.
(use "git push" to publish your local commits)
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: bin/run_flake8
modified: config/git_hooks/pre-commit
In other words, pygit2 is reporting those files as not being staged, and git is reporting them as being staged. Why the discrepancy?
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginnen Sie damit, die Abweichung mit repo.status().items() im pre-commit hook bei Verwendung von git commit -a zu reproduzieren; vergleichen Sie anschließend dessen Ergebnis mit git status für die beiden aufgeführten Dateien. Lesen Sie die pygit2 status API und das zugehörige libgit2-Verhalten; abgeschlossen ist die Aufgabe, wenn erklärt wird, warum gestagte Dateien den Status 256 erhalten, und die Abweichung korrigiert wird, falls es sich um einen Fehler handelt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- git, python
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 30/100