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