I'm amused that he thinks that git's design is intimately tied to its low-level file format, and that it would be impossible to change how it stores things. The truth is that git's "on-disk representation" is actually an abstraction which the library is clever enough to convince the world is reality. For storage, it mostly uses an entirely different pack format, developed much later, which is quite complex and has gone through several revisions. Part of the reason that git manages to have such a strong abstraction layer is that the abstraction layer is presented as a simple low-level file format that can't be changed; nobody is tempted to violate the abstraction because they don't realize it's an abstraction. This leaves the actual on-disk format easy to improve, because nothing depends on it, which is how git manages to be so space-efficient. It is pleasing to see someone fail to notice that "simple file format that novices can understand" and "requires less space than Bazaar's current efficient format" can't really both be true.