Kapitel ▾ 2. Auflage

A2.1 Anhang B: Git in Ihre Anwendungen einbetten - Git über die Kommandozeile

Wenn Ihre Anwendung für Entwickler bestimmt ist, besteht eine gute Chance, dass sie von der Integration mit der Quellcodeverwaltung profitieren könnte. Selbst Anwendungen für Nicht-Entwickler, wie z.B. Textverarbeitungsprogramme, könnten potenziell von Versionskontrollfunktionen profitieren, und das Modell von Git eignet sich sehr gut für viele verschiedene Szenarien.

Wenn Sie Git in Ihre Anwendung integrieren müssen, haben Sie im Wesentlichen zwei Optionen: Sie können eine Shell starten und das git-Kommandozeilenprogramm aufrufen oder eine Git-Bibliothek in Ihre Anwendung einbetten. Hier behandeln wir die Integration über die Kommandozeile und mehrere der beliebtesten einbettbaren Git-Bibliotheken.

Git über die Kommandozeile

Eine Option ist, einen Shell-Prozess zu starten und das Git-Kommandozeilenwerkzeug für die Arbeit zu verwenden. Dies hat den Vorteil, dass es kanonisch ist und alle Git-Funktionen unterstützt werden. Dies ist auch ziemlich einfach, da die meisten Laufzeitumgebungen über eine relativ einfache Einrichtung zum Aufrufen eines Prozesses mit Kommandozeilenargumenten verfügen. Dieser Ansatz hat jedoch einige Nachteile.

Einer davon ist, dass die gesamte Ausgabe als reiner Text erfolgt. Das bedeutet, dass Sie das sich gelegentlich ändernde Ausgabeformat von Git parsen müssen, um Fortschritts- und Ergebnisinformationen zu lesen, was ineffizient und fehleranfällig sein kann.

Ein weiterer Nachteil ist das Fehlen einer Fehlerbehandlung. Wenn ein Repository irgendwie beschädigt ist oder der Benutzer einen fehlerhaften Konfigurationswert hat, weigert sich Git einfach, viele Operationen durchzuführen.

Noch ein weiterer Nachteil ist die Prozessverwaltung. Git verlangt von Ihnen, eine Shell-Umgebung in einem separaten Prozess zu pflegen, was unerwünschte Komplexität hinzufügen kann. Der Versuch, viele dieser Prozesse zu koordinieren (insbesondere wenn potenziell von mehreren Prozessen auf dasselbe Repository zugegriffen wird), kann eine ziemliche Herausforderung sein.