docs/tutorial/README.rst
author Anton Shestakov <av6@dwimlabs.net>
Thu, 19 Sep 2019 11:46:16 +0700
branchstable
changeset 4843 d6e2820dac1f
parent 3376 aad37ffd7d58
permissions -rw-r--r--
tests: add some more actions to test-issue-6028, describe what's being done This patch does two things: it explains what's happening in the test file so it's easier to understand, and also it adds checks that make sure something like swapping merge parents is not accidentally breaking anything. The primary reason to touch this test file was that it was broken by a change in core's merge.graft() that erroneously swapped merge parents. Since only evolve uses merge.graft() for merge commits and there aren't any tests in core for it, let's test it here. Plus, this test case is pretty simple and these additional checks don't make it too complicated.

=============================
Training supports
=============================

Contributing
============

The main source for the supports is the `slides.md` but it doesn't contains
all the source.

The `slides.md` file contains several snippets that are replaced by other
files at compilation time.

For example:

.. code:: markdown

  ~~~raw-file
  output/fix-a-bug-base.log
  ~~~

Will replace this three lines by the content of the file `output/fix-a-bug-
base.log` which is generated when running the .t test file (see below for
instruction how to do that).

.. code:: markdown

  ~~~graphviz-file
  graphs/fix-bug-1.dot
  ~~~

Will replace this three lines by the svg rendering of the graphviz definition
in the file `graphs/fix-bug-1.dot`. This file is generated when running the .t
test file (see below for instruction how to do that).


Environment preparation
=======================

This training supports needs pandoc to compile.

You'll need a copy of the Mercurial source in order to generate the training
supports.

You will also needs a functioning Python environment with the possibility to
use `pip install` with your current user. In doubt, you can use a `virtualenv
<https://virtualenv.pypa.io/en/stable/>`.

You can then run the `prepare.sh` script that will configure the environment
for you.

Generating the supports
=======================

First, you need to run a .t test file to generate a bunch of files. You can
run the test file with this command:

`python /PATH/TO/MERCURIAL/tests/run-tests.py -l test-training.t`

It should have generated files in at least two directories: `graphs` and
`output`.

Finally, launch the `compile.sh` to generate the `index.html` output file.