Finaly the svn update on the trunk isn’t that satifying i thought initialy of. Most often the development branch is broken or has some issues. But for my symphaty i developed a small perl-script which called via cron is autoupdating to the latest stable version. Sure it has some clues but for those of you who are looking for a more easy way to update your wordpress / have a look at the following perl script. copy/paste to a location you are used to and install if possible the missing cpan-modules.
#!/usr/bin/perl -w
# This litte script is related to this page
# <a title="SVN Wordpress" href="http://codex.wordpress.org/Installing/Updating_WordPress_with_Subversion">http://codex.wordpress.org/</a>
#
#While i was tired of updating my wordpress installation but also don't want
#to use the development tree i choosed to code a little script.
#This will work with a little change on the xpath/expression
#with every svn server which posts itself to http
# (c) 2008 J. Rumpf / posted under the apache licence
#
use strict;
use HTML::TreeBuilder::XPath;
use LWP::Simple;
#
#configure the SVN http server
my $site = "http://svn.automattic.com/wordpress/tags/";
my $pathtoupdate = "/home/www/www.web-dreamer.de/wordpress/trunk";
# receive svn information about the main-revisions.
my $content = get($site);
die "get failed" if (!defined $content);
#
#build xpath parse-able tree
my $tree= HTML::TreeBuilder::XPath->new_from_content($content);
# The following XPATH expression evaluates the last of the <LI> and get backs the contents of <a> tag
my $nb=$tree->findvalue( '//li[last()]/a');
# print $nb; # prints f.e. 2.6.1/ just for test purpose
#
#switch (sw): Update the working copy to a different URL.
#usage: 1. switch URL [PATH]
# 2. switch --relocate FROM TO [PATH...]
#
# 1. Update the working copy to mirror a new URL within the repository.
# This behaviour is similar to 'svn update', and is the way to
# move a working copy to a branch or tag within the same repository.
#
#$nb could be used for executing bad things so delete pipes, semikolons and all bad isues.
#$nb = 'bad bad bubu'.$nb.';exec(dirt;)'; # if you have letters you may want to use this
#$nb =~ s/[^a-zA-Z0-9\.\/]//gi; #delete all what is not a letter, a digit, a point or a slash
$nb =~ s/[^0-9\.\/]//gi; #delete all what is not a digit a point or a slash
#
my $commandline = "svn sw ".$site.$nb." ".$pathtoupdate;
# print $commandline;
exec ($commandline) or print STDERR "couldn't exec $commandline: $!";
# This litte script is related to this page
# <a title="SVN Wordpress" href="http://codex.wordpress.org/Installing/Updating_WordPress_with_Subversion">http://codex.wordpress.org/</a>
#
#While i was tired of updating my wordpress installation but also don't want
#to use the development tree i choosed to code a little script.
#This will work with a little change on the xpath/expression
#with every svn server which posts itself to http
# (c) 2008 J. Rumpf / posted under the apache licence
#
use strict;
use HTML::TreeBuilder::XPath;
use LWP::Simple;
#
#configure the SVN http server
my $site = "http://svn.automattic.com/wordpress/tags/";
my $pathtoupdate = "/home/www/www.web-dreamer.de/wordpress/trunk";
# receive svn information about the main-revisions.
my $content = get($site);
die "get failed" if (!defined $content);
#
#build xpath parse-able tree
my $tree= HTML::TreeBuilder::XPath->new_from_content($content);
# The following XPATH expression evaluates the last of the <LI> and get backs the contents of <a> tag
my $nb=$tree->findvalue( '//li[last()]/a');
# print $nb; # prints f.e. 2.6.1/ just for test purpose
#
#switch (sw): Update the working copy to a different URL.
#usage: 1. switch URL [PATH]
# 2. switch --relocate FROM TO [PATH...]
#
# 1. Update the working copy to mirror a new URL within the repository.
# This behaviour is similar to 'svn update', and is the way to
# move a working copy to a branch or tag within the same repository.
#
#$nb could be used for executing bad things so delete pipes, semikolons and all bad isues.
#$nb = 'bad bad bubu'.$nb.';exec(dirt;)'; # if you have letters you may want to use this
#$nb =~ s/[^a-zA-Z0-9\.\/]//gi; #delete all what is not a letter, a digit, a point or a slash
$nb =~ s/[^0-9\.\/]//gi; #delete all what is not a digit a point or a slash
#
my $commandline = "svn sw ".$site.$nb." ".$pathtoupdate;
# print $commandline;
exec ($commandline) or print STDERR "couldn't exec $commandline: $!";
Cool, thanks. I might try this…