libgit2 / libgit2/pygit2

Finding alternate object directories on open

Offen
#676 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

Git 2.11 introduced a change such that incoming objects in a push are sequestered in an "alternate object directory." It appears that libgit2 supports opening repositories with these directories, taking certain environment variables into consideration, but the latest pygit2 does not invoke the appropriate function (git_repository_open_ext() from what I can tell). Am I correct in this assessment? Is there a way to work around this with the current code, or is a patch necessary?

If that didn't make sense, let me explain at a higher level: I'm writing a receive hook in Python and using pygit2 to examine the incoming commits. With versions of Git prior to 2.11 this is not a problem since the incoming objects are stored directly in the odb. However, now they are located elsewhere and pygit2 does not see them.

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 nachzuverfolgen, wie pygit2 Repositorys öffnet, und vergleiche diesen Pfad mit libgit2s git_repository_open_ext(), einschließlich der in diesem Issue beschriebenen Umgebungsvariablen. Überprüfe den receive-hook-Fall, bei dem eingehende Objekte in einem alternativen Objektverzeichnis liegen; fertig ist die Aufgabe, wenn pygit2 diese Commits untersuchen kann.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
git, python
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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