libgit2 / libgit2/pygit2

repo.status() appears to be broken?

Aperta
#684 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Python
Stelle
1.7k
Fork
408
Merge medio
2g 57m
PR unite (30g)
7

Descrizione

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?

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia riproducendo la discrepanza con repo.status().items() nel pre-commit hook usando git commit -a, quindi confronta il risultato con git status per i due file elencati. Leggi la pygit2 status API e il comportamento correlato di libgit2; il lavoro è completato quando spieghi perché i file nell’area di staging ricevono lo stato 256 e correggi la discrepanza se si tratta di un bug.

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

Valutazione

Stack tecnologico
git, python
Ambito
devtools
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.