Hi,

I have the following "problems" with the release task.

The repo_url is defined like this :

     def repo_url
       svn('info').scan(/URL: (.*)/)[0][0]
     end

On my system, "svn info" gives me "URL : http://..."; : there is a space
after "URL".
A better regexp could be : /URL\s?: (.*)/


Next, our commit messages have a special format (we start with keywords), and
we cannot use the buildr release without modifications.
I can patch the Release class in my buildfile, but perhaps something similar to the release attribute in buildr 1.3.3 would be possible, like in the following exemple ?

Release.tag_name = lambda { |ver| "foo-#{ver}" }
Release.commit_format = lambda { |msg| "ADD: #{msg}" }


Last point, it seems there is a problem with the 1.5.x version of the svn client. I'm using the command line svn client (1.5.4), and the scn.copy does not work.

I think this message explains it : http://www.nabble.com/Error-when-creating-tags-from-working-copy-td19913357.html I did what they recommend, and it worked when I modify the "tag_release" method and I do a update just before the copy :

     def tag_release
       version = extract_version
       info "Tagging release #{version}"
       url = tag_url Svn.repo_url, version
       Svn.remove url, 'Removing old copy' rescue nil
       Svn.svn 'update' # BUG here in 1.5.x ?
       Svn.copy Dir.pwd, url, "Release #{version}"
     end

Reply via email to