8

I understand that reading the source code is an option, given that these systems are open source, but I am looking for something on the lines of Scott Chacon's excellent writeup on Git Internals.

What Scott's writeup provides is a brief hands on introduction about how Git internally store things like Blobs, Trees and Commits and how all of these things are linked together to form your revision history. He demonstrates the whole idea with the aid of little bits of ruby code, that you can run on interactive ruby console to handcraft a working git revision history.

Is there a similar article or tutorial available for other popular version control systems like Mercurial and Bazaar

jthill
  • 55,082
  • 5
  • 77
  • 137
Tahir Akhtar
  • 11,385
  • 7
  • 42
  • 69

3 Answers3

10

For Mercurial, there's a couple of good resources to understand how it works:

  • Talk by Matt Mackall: Towards A Better SCM: Revlogs and Mercurial (slides, paper)
  • Chapter 4. Behind the scenes of the Mercurial book (online version)
  • The developer section of the wiki
crazyGuy
  • 338
  • 2
  • 15
tonfa
  • 24,151
  • 2
  • 35
  • 41
  • 1
    The first link to *linuxsymposium.org* does not work (though the slides and the paper are available). – Oben Sonne Jul 24 '11 at 12:04
  • Having not seen the talk, it's kind of amusing how sassy Matt Mackall is towards Git just in the slides. I'm guessing Mercurial vs. Git had a very messy rivalry? – Lou Jul 22 '22 at 16:35
5

It looks like http://doc.bazaar.canonical.com/bzr.dev/developers/overview.html is a good place to start with Bazaar.

Nigel Thorne
  • 21,158
  • 3
  • 35
  • 51
1

There are a bunch of text files related to Mercurial internals here. revlogs.txt is especially useful.

tav
  • 587
  • 6
  • 9