evolve: fixed lock acquire before checking state
Before checking the states `repo.lock()` and `repo.wlock()` need
to be acquired. This was not happening in `evolve()` earlier.
This patch creates a seperate `_performevolve()` funtion which
can be then called with locks acquired.
This also removes the redundant lock acuquiring of `abortevolve`
and `continueevolve` as lock is now taken earlier.
Doc is generated with sphinx.
You can generate the doc with:
```
make
```
# Tutorials
For updating the tutorials, you need to have the docgraph extension installed
(https://pypi.python.org/pypi/hg-docgraph).
Then run the test-topic-tutorial.t and test-tutorial.t to update the output if
needed.
You'll need the dot binary (likely installed by the graphviz package in your
package manager) in order to have graphviz graphs rendered in the html output.
Simply run make in the docs directory should takes care of the conversion of
the tutorial .t files into .rst files. Then sphinx should do the rest of the
jobs by rendering graphviz graphs.