tests/helpers-testrepo.sh
author Pulkit Goyal <7895pulkit@gmail.com>
Sat, 23 Dec 2017 15:13:37 +0530
changeset 36063 5a53af7d09aa
parent 33206 45d6e2767a93
child 37342 4e6a6d0dccee
permissions -rw-r--r--
remotenames: introduce new template keywords for remotenames This patch introduces three new template keywords 'remotenames', 'remotebookmarks', 'remotebranches' to show remotenames, remotebookmarks and remotebranches associated to a changeset. This is a part of moving hgremotenames extension to core. The remotenames template keyword was present in the extension and the rest of the two are not present in the hgremotenames extension and are introduced in this patch. hgremotenames: https://bitbucket.org/seanfarley/hgremotenames Differential Revision: https://phab.mercurial-scm.org/D1759
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33206
45d6e2767a93 tests: use system hg only if changelog or dirstate can't be read
Yuya Nishihara <yuya@tcha.org>
parents: 33205
diff changeset
     1
# In most cases, the mercurial repository can be read by the bundled hg, but
45d6e2767a93 tests: use system hg only if changelog or dirstate can't be read
Yuya Nishihara <yuya@tcha.org>
parents: 33205
diff changeset
     2
# that isn't always true because third-party extensions may change the store
45d6e2767a93 tests: use system hg only if changelog or dirstate can't be read
Yuya Nishihara <yuya@tcha.org>
parents: 33205
diff changeset
     3
# format, for example. In which case, the system hg installation is used.
29219
3c9066ed557c tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents:
diff changeset
     4
#
33116
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
     5
# We want to use the hg version being tested when interacting with the test
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
     6
# repository, and the system hg when interacting with the mercurial source code
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
     7
# repository.
29219
3c9066ed557c tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents:
diff changeset
     8
#
33116
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
     9
# The mercurial source repository was typically orignally cloned with the
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
    10
# system mercurial installation, and may require extensions or settings from
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
    11
# the system installation.
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
    12
syshg () {
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
    13
    (
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
    14
        syshgenv
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
    15
        exec hg "$@"
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
    16
    )
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
    17
}
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
    18
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
    19
# Revert the environment so that running "hg" runs the system hg
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
    20
# rather than the test hg installation.
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
    21
syshgenv () {
33126
98e2c78e309c tests: more completely restore the environment in syshgenv
Adam Simpkins <simpkins@fb.com>
parents: 33125
diff changeset
    22
    . "$HGTEST_RESTOREENV"
33116
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
    23
    HGPLAIN=1
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
    24
    export HGPLAIN
6c113a7dec52 tests: use the system hg for examining the local repository
Adam Simpkins <simpkins@fb.com>
parents: 29219
diff changeset
    25
}
33125
acfce52518c4 tests: do not use system hg if it does not have "files" command
Jun Wu <quark@fb.com>
parents: 33116
diff changeset
    26
33205
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    27
# The test-repo is a live hg repository which may have evolution markers
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    28
# created, e.g. when a ~/.hgrc enabled evolution.
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    29
#
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    30
# Tests may be run using a custom HGRCPATH, which do not enable evolution
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    31
# markers by default.
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    32
#
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    33
# If test-repo includes evolution markers, and we do not enable evolution
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    34
# markers, hg will occasionally complain when it notices them, which disrupts
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    35
# tests resulting in sporadic failures.
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    36
#
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    37
# Since we aren't performing any write operations on the test-repo, there's
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    38
# no harm in telling hg that we support evolution markers, which is what the
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    39
# following lines for the hgrc file do:
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    40
cat >> "$HGRCPATH" << EOF
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    41
[experimental]
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    42
evolution = createmarkers
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    43
EOF
2d7300cf3f3f tests: restore workaround of obsolete warning from 3c9066ed557c
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    44
33206
45d6e2767a93 tests: use system hg only if changelog or dirstate can't be read
Yuya Nishihara <yuya@tcha.org>
parents: 33205
diff changeset
    45
# Use the system hg command if the bundled hg can't read the repository with
45d6e2767a93 tests: use system hg only if changelog or dirstate can't be read
Yuya Nishihara <yuya@tcha.org>
parents: 33205
diff changeset
    46
# no warning nor error.
45d6e2767a93 tests: use system hg only if changelog or dirstate can't be read
Yuya Nishihara <yuya@tcha.org>
parents: 33205
diff changeset
    47
if [ -n "`hg id -R "$TESTDIR/.." 2>&1 >/dev/null`" ]; then
33204
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33126
diff changeset
    48
    alias testrepohg=syshg
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33126
diff changeset
    49
    alias testrepohgenv=syshgenv
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33126
diff changeset
    50
else
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33126
diff changeset
    51
    alias testrepohg=hg
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33126
diff changeset
    52
    alias testrepohgenv=:
33125
acfce52518c4 tests: do not use system hg if it does not have "files" command
Jun Wu <quark@fb.com>
parents: 33116
diff changeset
    53
fi