docs/tutorial/README.rst
author Pulkit Goyal <7895pulkit@gmail.com>
Thu, 24 May 2018 17:50:02 +0530
changeset 3774 4736d0bb81bf
parent 3376 aad37ffd7d58
permissions -rw-r--r--
evolve: add an `--update` flag to `hg evolve` command This patch adds a new `--update` flag which defaults to True. The update flag updates the working directory to the head of evolved revisions after `hg evolve` command. This flag can be used to not update your working directory after `hg evolve` which has been one of the biggest feature request from fig team at Google. To not update your working directory, the user can do `hg evolve --no-update`. If the working directory get obsoleted by evolve command, it will update to the successor. This patch also adds some basic tests for the flag introduced.

=============================
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.