docs/README
author Kyle Lippincott <spectral@google.com>
Mon, 16 Sep 2019 12:44:38 -0700
changeset 4848 535ab2609e45
parent 2959 ef361938dfa1
permissions -rw-r--r--
cmdstate: introduce a "saver" contextmanager and use it in place of save() Previously, the state was only saved in some paths out of these functions. This can be problematic, if the user ctrl-c's (or `kill -9`'s) the process, or we exit out of `relocate` for anything besides the "expected" reason, we won't record that we were in the middle of an evolve. One of our users has discovered that this leaves hg in a weird state; the user did something like this: ``` $ hg evolve <something goes wrong with the merge tool, hits ctrl-c> <deals with the merge conflicts> $ hg evolve --continue abort: no interrupted evolve to continue $ hg evolve abort: uncommitted changes # Note: commands.status.verbose=True is set. $ hg status M foo # The repository is in an unfinished *update* state. # No unresolved merge conflicts # To continue: hg update ``` The user did an `hg update`, but it didn't actually do anything besides take it out of the unfinished update state (the files were still dirty in the working directory).

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.