Automated Win32 builds
Phil Longstaff
plongstaff at rogers.com
Mon Jun 8 19:26:25 EDT 2009
Derek,
I've been looking at the 'svn list' command and think it may have the solution:
$ svn/bin/svn list -v http://svn.gnucash.org/repo/gnucash
18053 cstim Apr 21 15:37 branches/
18114 plongsta Jun 07 18:20 tags/
18115 cedayiv Jun 08 15:37 trunk/
You can then parse it, looking for the "trunk" line, then grab the last revision number. If it's changed from the previous night, kick off a new build.
$ svn/bin/svn list --xml http://svn.gnucash.org/repo/gnucash
<?xml version="1.0"?>
<lists>
<list
path="http://svn.gnucash.org/repo/gnucash">
<entry
kind="dir">
<name>branches</name>
<commit
revision="18053">
<author>cstim</author>
<date>2009-04-21T19:37:17.477361Z</date>
</commit>
</entry>
<entry
kind="dir">
<name>tags</name>
<commit
revision="18114">
<author>plongstaff</author>
<date>2009-06-07T22:20:37.946014Z</date>
</commit>
</entry>
<entry
kind="dir">
<name>trunk</name>
<commit
revision="18115">
<author>cedayiv</author>
<date>2009-06-08T19:37:37.080404Z</date>
</commit>
</entry>
</list>
</lists>
If you prefer to get and parse XML, use "--xml" in the list command.
"svn list" will also tell you when the "tags" directory has had something committed to it. Then, "svn list http://svn.gnucash.org/repo/gnucash/tags" will give you a list of tags. By comparing it with the previous list (which would need to be primed with the current list), you could kick off builds for new tags.
Phil
More information about the gnucash-devel
mailing list