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