Drew DeVault, author of the user environment and email client , for fun I attempted to prepare a Git implementation written in POSIX Shell. The idea arose after a debate about the complexity of Git's internal structure, after which Drew decided to demonstrate his arguments by writing a working version of Git in pure Shell in a day. During the work, Drew realized that he had slightly overestimated the simplicity due to the use of a binary index format in Git, which is not entirely suitable for Shell. But it was too late to backtrack, and he managed to implement Git on Shell.
The project was named (Shell Git) and is positioned strictly as an experiment to explore the internals of Git, not intended for practical use. In addition to constructs defined in POSIX Shell, the code utilizes several GNU extensions that work in BusyBox. A zlib library is also required for operation. The implemented functionality is sufficient to make a commit in a git repository.
Code is licensed under .
Source: opennet.ru
