tests/testlib/push-checkheads-util.sh
author Pierre-Yves David <pierre-yves.david@octobus.net>
Wed, 11 Mar 2020 23:56:11 +0100
branchstable
changeset 5272 b20d04641c0f
parent 5269 5a46f156c9b7
child 5274 fa1324e58fcf
permissions -rw-r--r--
head-checking: ignore obsolete section when checking for single heads This overwrite the core code that enforce single heads to ignore obsolete section. That way older obsolete version of a branch no longer prevent the new version to be pushed.

# setup config and various utility to test new heads checks on push

. $TESTDIR/testlib/common.sh

cat >> $HGRCPATH <<EOF
[ui]
# simpler log output
logtemplate ="{node|short} ({phase}){if(topic, "[{topic}]")}: {desc}\n"

[phases]
# non publishing server
publish=False

[extensions]
# we need to strip some changeset for some test cases
strip=
evolve=
EOF

setuprepos() {
    echo creating basic server and client repo
    hg init server
    cd server
    mkcommit root
    hg phase --public .
    mkcommit A0
    cd ..
    hg clone server client

    if [ "$1" = "single-head" ]; then
        echo >> "server/.hg/hgrc" "[experimental]"
        echo >> "server/.hg/hgrc" "# enforce a single name per branch"
        echo >> "server/.hg/hgrc" "single-head-per-branch = yes"

        echo >> "client/.hg/hgrc" "[ui]"
        echo >> "client/.hg/hgrc" "# simpler log output"
        echo >> "client/.hg/hgrc" 'logtemplate ="{node|short} [{branch}] ({phase}): {desc}\\n"'
    fi
}