Friday, September 15, 2006

Messing About In Boats

Believe me, my young friend, there is NOTHING - absolute nothing - half so much worth doing as simply messing about in boats.

Kenneth Graham could not have penned a truer word. There is something special about boats, or to be more precise, sailing boats. As a practical means of getting from A to B, they're not too practical, but if you're someone who believes that the journey is as important as the destination, then sailing is for you.

Jules grabs some raysAnd so it proved for the Fairfax Digital Classifieds Services team. Having shipped a big software project some six weeks ahead of schedule, and under budget, we felt we were due a little bit of a letting down of hair before cracking on with the next big project. So with winter safely out of the way, the vote for sailing was pretty much unanimous. Seeing as our office building is only two minute's walk from the offices of Sydney By Sail, it couldn't be easier, and so here's some photographic evidence of people enjoying themselves, maybe helped a little by the cases of beer that found their way on board, maybe by the fact that it had been raining heavily for the past week and today was the first clear day, and maybe by the fact that the rest of our colleagues were still hard at it.

The conditions were pretty much spot on for us, with a light northerly wind, and the gentlest of swells coming in through the Heads. With only seven of us, we didn't need a big boat, so Charlotte, a Hunter 33, was more than sufficient - no jetski, but plenty of drinks holders... Anyhow, we motored out past the Harbour Bridge away from the traffic of ferries, shook the sails out and tacked our way up towards Manly. We then dropped the anchor for an hour while we finished lunch, then ran back down with the wind and back into harbour. Now we just need to finish the next project in record time too, catch the end of summer, and we can bring our bathers with us.

Tuesday, September 12, 2006

CruiseControl.NET - Using the Multi SourceControl block with filters

As some have been led to observe, the documentation that goes with CruiseControl.NET is, charitably speaking, a little sparse. This is particularly true of the Multi SourceControl Block, which, unsurprisingly, allows the use of multiple source control blocks in a project. In the project that I am currently working on, I have some five separate CVS projects to check, and to add to the fun, I wanted to add some path filters to the mix. So, after a little trial and error, and a quick peek at the source code, here's a code sample for using path filters with multiple source control providers:
<sourcecontrol type="multi">     <sourceControls>         <filtered>             <sourceControlProvider type="cvs">                 <executable>C:\Program Files\cvsnt\cvs.exe</executable>                 <workingDirectory>D:\Cvs\Services</workingDirectory>             </sourceControlProvider>             <exclusionFilters>                 <pathFilter>                     <pattern>**/build.number</pattern>                 </pathFilter>                 <pathFilter>                     <pattern>**/CommonAssemblyInfo.cs</pattern>                 </pathFilter>             </exclusionFilters>         </filtered>         <filtered>             <sourceControlProvider type="cvs">                 <executable>C:\Program Files\cvsnt\cvs.exe</executable>                 <workingDirectory>D:\Cvs\Console</workingDirectory>             </sourceControlProvider>             <exclusionFilters>                 <pathFilter>                     <pattern>**/build.number</pattern>                 </pathFilter>                 <pathFilter>                     <pattern>**/CommonAssemblyInfo.cs</pattern>                 </pathFilter>             </exclusionFilters>         </filtered>     </sourceControls> </sourcecontrol>