docs/tutorial/prepare.sh
author Anton Shestakov <av6@dwimlabs.net>
Thu, 19 Sep 2019 11:46:16 +0700
branchstable
changeset 4843 d6e2820dac1f
parent 3376 aad37ffd7d58
permissions -rwxr-xr-x
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.

#!/bin/bash
set -euo pipefail

# Prepare pandoc filters
if [ -d pandocfilters/.git ]; then
    (cd pandocfilters && git remote update && git merge --ff-only)
else
    git clone https://github.com/Lothiraldan/pandocfilters.git
fi

pip2 install pandocfilters
pip2 install pygraphviz
pip2 install panflute
pip2 install hg+https://bitbucket.org/octobus/mercurial_docgraph
pip2 install hg-evolve

mkdir -p graphs output

CMD_NOT_FOUND=0
check_command() {
    cmd=$1
    if ! which "$cmd" >/dev/null 2>&1; then
        echo "Error: command '$cmd' not found in \$PATH"
        echo "Please install '$cmd'"
        CMD_NOT_FOUND=1
    else
        echo "$cmd command was found"
    fi
}

check_command pandoc
check_command aha

if [ "$CMD_NOT_FOUND" -ne "0" ]; then
    exit 1
fi

# Prepare directory for repositories generated by the training.t file
mkdir -p base-repos

rm -Rf base-repos/*