我理解reading the source code是一个选项,因为这些系统是开源的,但我正在寻找Scott Chacon在Git Internals上的优秀文章。
斯科特的文章简要介绍了Git如何在内部存储Blob,Trees和Commits等内容以及所有这些内容如何链接在一起形成修订历史。他借助一些ruby代码演示了整个想法,你可以在交互式ruby控制台上运行来手工制作一个有效的git修订历史。
是否有类似的文章或教程可用于其他流行的版本控制系统,如Mercurial和Bazaar
答案 0 :(得分:9)
对于Mercurial,有几个很好的资源可以理解它是如何工作的:
答案 1 :(得分:5)
看起来http://doc.bazaar.canonical.com/bzr.dev/developers/overview.html是开始Bazaar的好地方。
答案 2 :(得分:1)
有一堆与Mercurial内部here相关的文本文件。 revlogs.txt特别有用。