Posted by kohsuke
on July 26, 2006 at 9:35 PM PDT
I just posted a new version of my continous build system Hudson.
A new Hudson user jglick filed a whole bunch of RFEs against Hudson (often with patches.) Michael Vorburger also sent me several suggestions. These made me renew my energy toward improving Hudson.
One of many improvements that came out of this is to speed up CVS changelog computation. When you are doing a continuous build, every build usually contains only a small number of changes. In Hudson 1.35, Hudson first runs "cvs update", then use its output to determine what files are changed. Hudson then uses this to significantly reduce the amount of traffic for the "cvs log" command, which is used to compute the changelog.
This works particularly well with master/slave environments where this has been a source of considerable overhead.
Another improvement that came out of this is the CVS/Subversion polling support. Polling the repository frequently, in particular CVS, is an expensive operation, so I personally never needed it (I set up push-based approach by using CVS commit e-mails.) But it's bit tedious to set up, so apparently people wanted polling. This is also now a part of Hudson 1.35.
Thank you all for great feedback. I'm really having fun with Hudson!