[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: SVN and web development

From: John Peacock <john.peacock_at_havurah-software.org>
Date: Tue, 15 Jan 2008 07:12:06 -0500

Szymon Bakowski wrote:
> Still, any comments and suggestions more then welcomed.

The way I designed SVN::Notify::Mirror was:

1) a single post-commit script handles multiple different operations, based on a
regex match of the path(s) in the commit;

2) operationally, I have a test server which always keeps in sync with trunk;

3) the production web server sync to a project tag which matches a specific
regex (in my case RELEASE-YYYYMMDDSEQ) using switch;

4) the production server is located on a remote DMZ and has no direct access to
the Subversion server, so all traffic is tunneled over SSH;

5) SVN::Notify::Mirror also supports using rsync as an update method (if the
presence of metadata offends you).

I actually use SVN::Notify::Config (which I didn't originally author, but which
I maintain now) so that the post-commit script is a YAML data file (this is a
machine readable, yet human editable format that encapsulates all basic Perl
types). From the POD:

         #!/usr/bin/perl -MSVN::Notify::Config=$0
         --- #YAML:1.0
           PATH: "/usr/bin:/usr/local/bin"
           handler: Mirror
           minimal: 1
           to: "/path/to/www/htdocs"
           handler: Mirror
           to: "/path/to/remote/www/htdocs"
           handler: Mirror
           to: "/path/to/another/dir"
           tag-regex: "TRUNK-"

That's the entire post-commit script! That corresponds to an hash of hashes...



To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-01-15 14:02:08 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.