Git evolved out of passing around patch files by e-mail, which then evolved into Bitkeeper. By the time Linus wrote git, he had a very good idea of the workflow he needed, the data to be stored, and the OS tools available to him, since he'd been doing it manually for 10 years and had written much of the OS.
There's actually a counter to your counterexample - Darcs was a competing DVCS written in Haskell and based on a comprehensive theory of patch algebra. It didn't work - it was too slow to fit into people's workflow, despite being provably correct. Git - as basically the automatic version of emailing patch files around - was much more successful.
There's actually a counter to your counterexample - Darcs was a competing DVCS written in Haskell and based on a comprehensive theory of patch algebra. It didn't work - it was too slow to fit into people's workflow, despite being provably correct. Git - as basically the automatic version of emailing patch files around - was much more successful.