February 16, 2013
Fount through Reddit, how they have managed to manage the very large LibreOffice code base:

http://www.infoworld.com/print/212908

http://people.gnome.org/~michael/data/2013-02-03-re-factoring.pdf

(Page 12 of the PDF talks about more powerful static checking. Things to learn for everyone! Clang helps.)


One of the tools they suggest is Gerrit, for "permission free commits":

http://en.wikipedia.org/wiki/Gerrit_%28software%29

http://gerrit-documentation.googlecode.com/svn/Documentation/2.5.2/intro-quick.html

The purpose of Gerrit is to speed up the code review, allowing to approve or reject the changes faster:

>Gerrit is deployed in place of this central repository and adds an additional concept, a store of pending changes. Everyone still fetches from the authoritative repository but instead of pushing back to it, they push to this pending changes location. A change can only be submitted into the authoritative repository and become an accepted part of the project once the change has been reviewed and approved.<

Currently the main bottleneck of the D development seems to be the merging of patches (http://forum.dlang.org/thread/hllgumyacmdfmzqjejfv@forum.dlang.org ), so maybe this tool will help.


The article also discusses a little about "bi-bisect", and the use of those ideas allows this developing strategy:

>The approach TDF is using is so open and so rapid that -- despite the high rate of change for the code -- the low-process environment, rapid build approach, and rapid release timeline together mean new bugs are fixed fast.<

Bye,
bearophile