
Internally Google uses Perforce for code configuration management. They do not create branches on a per developer basis normally. Development takes place on the trunk. Branches are only used for release management. All code needs to go through review before being checked in. The previous tool set used for managing reviews was a 3,000 line shell script which wrapped the Perforce commands.
Guido essentially rewrote the old shell scripts in Python. This was his started project at Google. One of the problems with the old system was that parts of it were too slow to use through a VPN from home. Apparently Google employees like to work from home. The new tool was supposed to allow you to click on any line of code and add inline comments. Guido confessed that, with the web based Mondrian, this amounted to a lot of Javascript code.
Having completed the project, Guido reflected on the development of the Mondrian tool. He said that he codes a new web application approximately once every 3 years. He said that he learned Django along the way of implementing Mondrian. He also learned how to make use of the Web Service Gateway Interface (WSGI).
The first version of Mondrian which implemented minimal features was very popular with his beta testers. Guido said the tool did encounter some performance problem with weird scenarios like a change that affected 100,000 files. It also choked on a 20,000 line file that had every single line chanted. The tool has limited configurations which made debugging simpler.
I think my own project could benefit from a peer review tool such as Mondrian. Guido’s presentation made reference to 2 other related tools: (1) Review Board and (2) Rietveld. It is time to do some more research and get my project out of the peer review stone age.