# HG changeset patch # User Steve Losh # Date 1278185639 14400 # Node ID c28a2dae28ef7312fd9ab1a81980fb02b2589f66 # Parent c631e35b58272c1a39c2b6b3b30a99b010ab9acd docs: flesh out the web ui deployment docs diff -r c631e35b5827 -r c28a2dae28ef docs/webui.rst --- a/docs/webui.rst Sat Jul 03 15:12:25 2010 -0400 +++ b/docs/webui.rst Sat Jul 03 15:33:59 2010 -0400 @@ -60,6 +60,9 @@ to provide a public interface. This will let people can comment easily without using the extension (or even cloning your project). +Initial Deployment +'''''''''''''''''' + You can use any WSGI server you like to provide a public instance of hg-review. Before you start you'll need to have Mercurial installed on your web server. @@ -74,13 +77,17 @@ hg clone http://bitbucket.org/sjl/hg-review/ -Grab a copy of your project and configure it to use the hg-review extension:: +Grab a copy of your project and configure it to use the hg-review extension as +well as the built-in `fetch +`_ extension (to +automatically merge updates):: - hg clone http://bitbucket.org/you/yourproject/ + hg clone -U http://bitbucket.org/you/yourproject/ cd yourproject echo '[extensions]' >> .hg/hgrc echo 'review = /var/www/myproject-review-interface/hg-review/review' >> .hg/hgrc + echo 'fetch = ' >> .hg/hgrc Use hg-review to pull down the review data:: @@ -114,3 +121,43 @@ you do that depends on your WSGI server. A sample configuration file for `Gunicorn `_ is provided in ``contrib/deploy/gunicorn.conf.py``. + +Updating the Data +''''''''''''''''' + +You'll want to keep the review data for this interface current so users can see +all the latest comments and signoffs. + +To do this you simply need to pull in the main repository (to receive new +changesets in your project) and fetch in the review data repository (to receive +new comments and signoffs):: + + hg -R /var/www/myproject-review-interface/ pull + hg -R /var/www/myproject-review-interface/.hg/review fetch + +New comments and signoffs will be visible immediately -- you don't need to +restart your WSGI server. + +You'll probably want to set this up as a cron job or use a hook of some kind +to automate the updates. + +If you allow anonymous comments and want people that are using the extension +locally (instead of this public instance) to see these comments, you'll need to +*fetch and push* the review data repo as well:: + + hg -R /var/www/myproject-review-interface/.hg/review/ fetch + hg -R /var/www/myproject-review-interface/.hg/review/ push + +hg-review is designed to never encounter merge conflicts with its data, but +there's always the chance that someone has done something manually that could +cause a problem. + +If your interface doesn't seem to be receiving new comments/signoffs you'll +want to take a look at the review data repository to see what's wrong:: + + cd /var/www/myproject-review-interface/.hg/review + hg heads + +There should only ever be one head in this repository. If there are more you'll +need to merge them (and push back to your public review data repo so others +won't encounter the same problem).