libgit2 / libgit2/pygit2

"ValueError: attempt to reinitialize" error from Repository.update_submodules()

Offen
#995 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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 keep getting:
File "\GitWorkflow.py", line 126, in update_submodules
repo.update_submodules(callbacks=callbacks, init=False)
File "\lib\site-packages\pygit2\repository.py", line 108, in update_submodules
check_error(err)
File "\lib\site-packages\pygit2\errors.py", line 52, in check_error
raise ValueError(message)
ValueError: attempt to reinitialize '{path}'

Seems to be C.GIT_EEXISTS(?)

I am running:
repo.init_submodules()
repo.update_submodules(callbacks=callbacks)

Oddly, the error seems to come only from update_submodules, not init_submodules.
The folder for the submodule in question exists, but it is empty. "git submodule update" works without issue.

Am I doing something wrong?

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die Sequenz mit repo.init_submodules() gefolgt von repo.update_submodules(callbacks=callbacks) zu reproduzieren, und vergleiche sie anschließend mit dem funktionierenden Verhalten von git submodule update. Lies den Einstiegspunkt Repository.update_submodules() und die gemeldete Aufrufstelle in GitWorkflow.py; abgeschlossen ist die Untersuchung, wenn festgestellt wurde, ob das leere Submodulverzeichnis und der Reinitialisierungsfehler auf eine falsche Verwendung oder einen Fehler in pygit2 hindeuten.

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
28/100

Neue Issues direkt in Ihr Postfach

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