2017-07-02 07:24:23 +03:00
|
|
|
# In most cases, the mercurial repository can be read by the bundled hg, but
|
|
|
|
# that isn't always true because third-party extensions may change the store
|
|
|
|
# format, for example. In which case, the system hg installation is used.
|
2016-05-11 07:49:27 +03:00
|
|
|
#
|
2017-06-28 03:24:31 +03:00
|
|
|
# We want to use the hg version being tested when interacting with the test
|
|
|
|
# repository, and the system hg when interacting with the mercurial source code
|
|
|
|
# repository.
|
2016-05-11 07:49:27 +03:00
|
|
|
#
|
2017-06-28 03:24:31 +03:00
|
|
|
# The mercurial source repository was typically orignally cloned with the
|
|
|
|
# system mercurial installation, and may require extensions or settings from
|
|
|
|
# the system installation.
|
|
|
|
|
|
|
|
# Revert the environment so that running "hg" runs the system hg
|
|
|
|
# rather than the test hg installation.
|
|
|
|
syshgenv () {
|
2017-06-28 22:23:22 +03:00
|
|
|
. "$HGTEST_RESTOREENV"
|
2017-06-28 03:24:31 +03:00
|
|
|
HGPLAIN=1
|
|
|
|
export HGPLAIN
|
|
|
|
}
|
2017-06-28 23:45:51 +03:00
|
|
|
|
2017-07-02 07:20:28 +03:00
|
|
|
# The test-repo is a live hg repository which may have evolution markers
|
|
|
|
# created, e.g. when a ~/.hgrc enabled evolution.
|
|
|
|
#
|
|
|
|
# Tests may be run using a custom HGRCPATH, which do not enable evolution
|
|
|
|
# markers by default.
|
|
|
|
#
|
|
|
|
# If test-repo includes evolution markers, and we do not enable evolution
|
|
|
|
# markers, hg will occasionally complain when it notices them, which disrupts
|
|
|
|
# tests resulting in sporadic failures.
|
|
|
|
#
|
|
|
|
# Since we aren't performing any write operations on the test-repo, there's
|
|
|
|
# no harm in telling hg that we support evolution markers, which is what the
|
|
|
|
# following lines for the hgrc file do:
|
|
|
|
cat >> "$HGRCPATH" << EOF
|
|
|
|
[experimental]
|
|
|
|
evolution = createmarkers
|
|
|
|
EOF
|
|
|
|
|
2018-04-10 05:11:55 +03:00
|
|
|
# Use the system hg environment if the bundled hg can't read the repository with
|
2017-07-02 07:24:23 +03:00
|
|
|
# no warning nor error.
|
2019-03-09 02:43:03 +03:00
|
|
|
if [ -n "`hg files --cwd "$TESTDIR/" 2>&1 >/dev/null`" ]; then
|
2018-04-10 05:11:55 +03:00
|
|
|
testrepohgenv () {
|
|
|
|
syshgenv
|
|
|
|
}
|
2017-07-02 07:14:20 +03:00
|
|
|
else
|
2018-04-10 05:11:55 +03:00
|
|
|
testrepohgenv () {
|
|
|
|
# No need to do anything in this case.
|
|
|
|
:
|
|
|
|
}
|
2017-06-28 23:45:51 +03:00
|
|
|
fi
|
2018-04-10 05:11:55 +03:00
|
|
|
|
|
|
|
testrepohg () {
|
2018-09-13 02:33:30 +03:00
|
|
|
(
|
|
|
|
testrepohgenv
|
|
|
|
exec hg "$@"
|
|
|
|
)
|
2018-04-10 05:11:55 +03:00
|
|
|
}
|