Custom Python ODB backends - write() support
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
Is there any support for implementing write() for custom python ODB backends?
I noticed it wasn't in the docs, but tried implementing it like so:
class MyOdbBackend(pygit2.OdbBackend):
# snip - other OdbBackend methods
def write(self, oid, data, length, type):
print(f"writing {oid} {length} type {type}")
return True
repo = pygit2.Repository()
odb = pygit2.Odb()
odb.add_backend(MyOdbBackend(), 1)
repo.set_odb(odb)
test_blob_id = repo.create_blob(b"hello world\n")
print(repo[test_blob_id].data)
But I get a _pygit2.GitError: TLS backend doesn't support certificate locations on calling repo.create_blob(). The built-in backends seem to work fine.
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
Beginne damit, das Beispiel mit dem benutzerdefinierten MyOdbBackend.write() und den Fehler bei repo.create_blob() zu reproduzieren. Lies die Schnittstellen OdbBackend und add_backend sowie die zugehörige Dokumentation, um festzustellen, ob write() unterstützt wird. Die Aufgabe gilt als erledigt, wenn das Verhalten entweder implementiert und mit diesem Beispiel verifiziert oder die Einschränkung und die Fehlerursache klar dokumentiert sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- git, python
- Bereich
- backend
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 32/100