I’m pretty sure that cruisecontrol.rb does not hand svn:externals properly so I’ve have to explore regexes in Ruby. In doing this I found the super handy Rubular online regex testing site. It is certainly easier to debug these things in realtime in a browser than kicking off a full cc build.
There is however a tiny glitch in it.
In HTML, multiple whitespaces in text get merged into a single one. If you want/need multiple ones then you need to insert the ‘not breaking space’ HTML entity code; & . The results of Rubular appear to be neglecting this.
Using the regex
(.*-r[ ]{2,}\d+\s+|\s?)(.*)
against the string
geokit -r 45 svn://rubyforge.org/var/svn/geokit/trunk
results in the following matches
- geokit -r 45
- svn://rubyforge.org/var/svn/geokit/trunk
Remember the rule about whitespace?
The first match should have been: geokit -r 45
The devil, as is often the case, is in the details.