prev: respect `commands.update.check` config option in `hg prev` (issue5808)
`commands.update.check` config option determines what level of checking should
be done when we update to another revision. When we set this config option to
`noconflict`, it updates your working directory to a specified revision only
when there will be no conflicts which is a very nice behavior.
This patch adds logic to respect the config option so that we can have that nice
behavior with `hg prev` too.
It turns out, we just needed to use hg.updatetotally() and add some cases to
check config option.
Right now, we only respect the config if value is set to `noconflict`. Otherwise
we fallback to the default behavior.
This is a part of fixing issue5808. Test changes demonstrate the fix.
#!/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/*