view tests/testlib/push-checkheads-util.sh @ 5284:2570d2d4a268

caches: preserve permissions of top-level .hg When using hg on a shared filesystem on UNIX, cache files normally inherit the permissions of the .hg directory. This is most commonly used to ensure everything is writable by all users. The sqlite3 cache files don't have a way to directly set the permission, so check if a special mode is necessary and try to apply them to newly created database files.
author Joerg Sonnenberger <joerg@bec.de>
date Sun, 03 May 2020 01:01:19 +0200
parents 1227553f82c6
children fc60328270ac
line wrap: on
line source

# 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"
        printf >> "client/.hg/hgrc" "%s" 'logtemplate = "{node|short} [{branch}{if(topic, ":{topic}")}] ({phase}): {desc}\n"'
    fi
}