3 ms·
Torvalds didn't create anything like the `git` we know today in 10 days. It was heavily inspired by `monotone`, which popularized the concept of a Merkle tree.
by neilk 3y ago
Torvalds didn't create anything like the `git` we know today in 10 days.
It was heavily inspired by `monotone`, which popularized the concept of a Merkle tree. Torvalds' comments about what he liked and didn't like about `monotone` are preserved in the Wikipedia page. In particular he criticized their use of C++ and SQLlite.
https://en.wikipedia.org/wiki/Monotone_(software) https://en.wikipedia.org/wiki/Monotone_(software)
Torvalds' git, on day 10, was some basic routines which saved and restored the contents of a directory. But it did satisfy his desire for it to be fast and minimal.
Someone named Jason Stopak helpfully found the original version of git and commented it heavily, here:
https://bitbucket.org/blog/what-can-we-learn-from-the-code-in-gits-initial-commit https://bitbucket.org/blog/what-can-we-learn-from-the-code-i...
A bash script shows what the workflow would be like. You would be adding files one by one, saving trees, obtaining a SHA from that tree, then retrieving the SHA. There is a very basic notion of history.
https://bitbucket.org/jacobstopak/baby-git/src/master/examples/babygit https://bitbucket.org/jacobstopak/baby-git/src/master/exampl...
As is typical with Torvalds, he left it to others to write tooling around the basic concepts soon after this. Torvalds deserves credit for the core ideas and a barely usable prototype. But most importantly, he enforced its use on a major open source project, very early in its life, which ensured that it would be improved upon.