Git
Chapters ▾ 2nd Edition

A2.1 Bijlage B: Git in je applicaties inbouwen - Commando-regel Git

Als je applicatie bestemd is voor ontwikkelaars, is er een grote kans dat het kan profiteren van integratie met versiebeheer. Zelfs applicaties voor niet-ontwikkelaars, zoals document editors, kunnen potentieel profiteren van versiebeheer functionaliteit, en het model van Git werkt erg goed voor vele verschillende scenarios.

Als je Git moet integreren met je applicatie, heb je eigenlijk twee opties: een shell openen en de git commando-regel tool aanroepen, of Git als library inbedden in je applicatie. We zullen hier de integratie van de commandoregel en een aantal van de meest populaire inbedbare Git libraries behandelen.

Commando-regel Git

Een optie is om een shell proces op te starten (spawning) en de Git commando-regel tool gebruiken om het werk te doen. Dit heeft het voordeel van canoniek zijn, en alle mogelijkheden van Git worden ondersteund. Het is toevallig ook nog eens redelijk eenvoudig, omdat de meeste omgevingen waarin het programma draait een relatief eenvoudige manier hebben om een proces met commando-regel argumenten te aan te roepen. Echter, deze aanpak heeft ook een aantal nadelen.

Een ervan is dat alle uitvoer in platte tekst is. Dit houdt in dat je de soms gewijzigde uitvoer van Git moet parsen om de voortgang en resultaat informatie te lezen, wat inefficiënt en foutgevoelig kan zijn.

Een ander is een gebrekkige fout herstel. Als een repository op de een of andere manier corrupt is geraakt, of de gebruiker heeft een configuratiewaarde misvormd, zal Git simpelweg weigeren om een groot aantal operaties uit te voeren.

Weer een ander is proces beheer. Git eist dat je een shell omgeving bijhoudt in een separaat proces, wat ongewilde complexiteit kan toevoegen. Het coördineren van veel van dit soort processen (vooral als de kans bestaat dat dezelfde repository door een aantal processen wordt benaderd) kan een nogal grote uitdaging zijn.

scroll-to-top