Drew DeVault, Autor der Benutzeroberfläche und des E-Mail-Clients , hat aus Spaß versucht, eine Implementierung von Git in POSIX Shell zu erstellen. Die Idee entstand nach einer Diskussion über die Komplexität der internen Struktur von Git, nach der Drew beschloss, seine Argumente zu demonstrieren, indem er an einem Tag eine funktionale Version von Git in reinem Shell schrieb. Während der Arbeit stellte Drew fest, dass er mit seinen Aussagen zur Einfachheit etwas voreilig war, da Git ein binäres Indexformat verwendet, das sich nicht ganz für Shell eignet. Aber es war zu spät zum Aufgeben, und es gelang ihm, Git in Shell umzusetzen.
Das Projekt erhielt den Namen (Shell Git) und wird ausschließlich als Experiment zur Untersuchung der Funktionsweise von Git positioniert, nicht zur praktischen Anwendung. Neben den im POSIX Shell definierten Konstruktionen nutzt der Code mehrere GNU-Erweiterungen, die in BusyBox funktionsfähig sind. Außerdem ist die Bibliothek zlib erforderlich. Die implementierte Funktionalität reicht aus, um einen Commit in ein Git-Repository durchzuführen.
Code unter Lizenz .
Quelle: opennet.ru
