monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] How the web server updates the pages...


From: Ben Walton
Subject: Re: [Monotone-devel] How the web server updates the pages...
Date: Sat, 10 Mar 2007 12:09:00 -0500

I do some auto web updates with on mtn project that I'm managing.  My
solution has been to have 'mtn serve' running on the web host as a
separate user, setup with it's own keys, etc.  Any time other project
members sync, it uses the note_netsync_end lua hook to run a script if
revisions were received.  This script does a merge and update locally,
followed by a make html (we're auto publishing some tex info stuff)
and then rsync to the live web staging error if all is well.  The
script errors out at anything with non-zero return status.

I'm handling the multiple heads issue thusly:
If the merge can be done automatically, proceed.
If the merge can't be done automatically (detected by a call to the
lua hook merge3), the script bails.
If the script bailed during merge, the addressess associated with the
conflicting heads are sent email (no need to bother everyone in our
case).
It is then expected that a human will do a manual merge and resync.

So far, this has been working well for us, but the project is small
and most of our merging can be done automatically.  It may not be
sufficient for larger projects where there is lots of merge3 type
activity.

Hope that helps.
-Ben

On 3/10/07, Richard Levitte - VMS Whacker <address@hidden> wrote:
Hi,

I just sw in the IRC log that some wonder how the web server updates
from the monotone branch (nvm.web).  It's really very simple, I use
the following scripts from the contrib/ directory:

        monotone-mirror.sh (for mirroring the monotone repo and
                            perform post-pull actions)

        monotone-mirror-postaction-update.sh (for updating the web pages)
        monotone-notify.pl (for sending email notifications)

As you can see, monotone-mirror-postaction-update.sh does a simple
'mtn update', and as we all know, an update of the workspace will not
happen past a fork in the history.  Therefore, it is crucial that the
nvm.web branch doesn't stay multi-headed for too long.

If anyone has a better suggestion, I'm all ears.

Cheers,
Richard

-----
Please consider sponsoring my work on free software.
See http://www.free.lp.se/sponsoring.html for details.

--
Richard Levitte                         address@hidden
                                        http://richard.levitte.org/

"When I became a man I put away childish things, including
 the fear of childishness and the desire to be very grown up."
                                                -- C.S. Lewis


_______________________________________________
Monotone-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/monotone-devel



--
---------------------------------------------------------------------------------------------------------------------------
Ben Walton <address@hidden>

Unanswered questions are far less dangerous than unquestioned answers.
- The Roadside Pulpit
---------------------------------------------------------------------------------------------------------------------------




reply via email to

[Prev in Thread] Current Thread [Next in Thread]