Michael Stillwell wrote:
> Is there a recommended way to do this? We don't really want to use
> rsync, cp, etc. to copy a working copy into the live web
> directory--this would seem to introduce a lot of unnecessary work and
> complexity since "svn up" does 95% of what we want. And updating via
> a commit hook (i.e. completely automated) is a bit fussy and
> inflexible for the projects we work on.
Maybe I'm reading too much into your last sentence above. Are you are
permitting the developers to update portions of the production website,
rather than the entire site every time? That's the only thing I can
think of that would be "fussy" with an automated commit hook. If this
is the case, I'd like to strongly discourage that behavior. When you
don't update the entire working copy (mixed revision WC), it is all too
easy to get into a state where you have problems (conflicting behavior
that doesn't show up in a consistent WC). It is also impossible to know
what change to the site as a whole was made at which time (i.e. there is
no _one_ revision that describes the current state of the site). It
also cab make it very difficult to roll back updates consistently.
I wrote SVN::Notify::Mirror[1] specifically to efficiently update a
website from the postcommit hook, with quite a bit of flexibility. I
wrote it so that it works best like this:
1) trunk is mirrored to the test site[s] automatically;
2) the production site[s] always run off of a tag (so that it is 100%
consistent);
3) creating a tag that matches a user defined regex automatically
switched production to the new tag (very efficient, as only the files
that differ between tags get changed).
John
1. http://search.cpan.org/search?query=SVN-Notify-Mirror
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Nov 9 16:41:30 2007