tests/testlib/push-checkheads-util.sh
author Martin von Zweigbergk <martinvonz@google.com>
Mon, 19 Jun 2017 13:18:00 -0700
changeset 32924 f044295cdb7a
parent 31973 36006e014deb
child 45765 ed84a4d48910
permissions -rw-r--r--
repair: move check for existing transaction earlier Several benefits: * Gets close the comment describing it * Splits off unrelated comment about "backup" argument * Error checking is customarily done early * If we added an early return to the method, it would still consistently fail if there was an existing transaction (so we would find and fix that case quickly) One test needs updating with for this change, because we no longer create the backup bundle before we fail. I don't see much reason to create that backup bundle. If some command was adding content and then trying to strip it as well within the transaction, we would have a backup for the user, but the risk of that not being discovered in development seems very small.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31973
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     1
# setup config and various utility to test new heads checks on push
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     2
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     3
cat >> $HGRCPATH <<EOF
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     4
[ui]
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     5
# simpler log output
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     6
logtemplate ="{node|short} ({phase}): {desc}\n"
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     7
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     8
[phases]
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
     9
# non publishing server
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    10
publish=False
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    11
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    12
[extensions]
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    13
# we need to strip some changeset for some test cases
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    14
strip=
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    15
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    16
[experimental]
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    17
# enable evolution
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    18
evolution=all
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    19
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    20
[alias]
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    21
# fix date used to create obsolete markers.
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    22
debugobsolete=debugobsolete -d '0 0'
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    23
EOF
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    24
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    25
mkcommit() {
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    26
   echo "$1" > "$1"
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    27
   hg add "$1"
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    28
   hg ci -m "$1"
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    29
}
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    30
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    31
getid() {
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    32
   hg log --hidden --template '{node}\n' --rev "$1"
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    33
}
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    34
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    35
setuprepos() {
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    36
    echo creating basic server and client repo
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    37
    hg init server
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    38
    cd server
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    39
    mkcommit root
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    40
    hg phase --public .
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    41
    mkcommit A0
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    42
    cd ..
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    43
    hg clone server client
36006e014deb obsolescence: add test utility for the "branch replacement" logic during push
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
    44
}