docs/tutorial/prepare.sh
author Martin von Zweigbergk <martinvonz@google.com>
Fri, 19 Apr 2019 10:41:56 -0700
changeset 4590 784ad6f60571
parent 3376 aad37ffd7d58
permissions -rwxr-xr-x
evolve: don't use exception for local flow control The LocalMergeFailure class was added in 3f91654713dd (obsolete Move merge failure handling into stabilize code, 2012-08-20). I think the "if compat.hasconflict(r)" check was added later. Now that we have that check, we should use that for flow control instead. Note that this means that any unexpected exception from _relocatecommit() will now just raise (and roll back the transaction). I think that's an improvement.

#!/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/*