annotate tests/testlib/exchange-obsmarker-util.sh @ 32697:19b9fc40cc51

revlog: skeleton support for version 2 revlogs There are a number of improvements we want to make to revlogs that will require a new version - version 2. It is unclear what the full set of improvements will be or when we'll be done with them. What I do know is that the process will likely take longer than a single release, will require input from various stakeholders to evaluate changes, and will have many contentious debates and bikeshedding. It is unrealistic to develop revlog version 2 up front: there are just too many uncertainties that we won't know until things are implemented and experiments are run. Some changes will also be invasive and prone to bit rot, so sitting on dozens of patches is not practical. This commit introduces skeleton support for version 2 revlogs in a way that is flexible and not bound by backwards compatibility concerns. An experimental repo requirement for denoting revlog v2 has been added. The requirement string has a sub-version component to it. This will allow us to declare multiple requirements in the course of developing revlog v2. Whenever we change the in-development revlog v2 format, we can tweak the string, creating a new requirement and locking out old clients. This will allow us to make as many backwards incompatible changes and experiments to revlog v2 as we want. In other words, we can land code and make meaningful progress towards revlog v2 while still maintaining extreme format flexibility up until the point we freeze the format and remove the experimental labels. To enable the new repo requirement, you must supply an experimental and undocumented config option. But not just any boolean flag will do: you need to explicitly use a value that no sane person should ever type. This is an additional guard against enabling revlog v2 on an installation it shouldn't be enabled on. The specific scenario I'm trying to prevent is say a user with a 4.4 client with a frozen format enabling the option but then downgrading to 4.3 and accidentally creating repos with an outdated and unsupported repo format. Requiring a "challenge" string should prevent this. Because the format is not yet finalized and I don't want to take any chances, revlog v2's version is currently 0xDEAD. I figure squatting on a value we're likely never to use as an actual revlog version to mean "internal testing only" is acceptable. And "dead" is easily recognized as something meaningful. There is a bunch of cleanup that is needed before work on revlog v2 begins in earnest. I plan on doing that work once this patch is accepted and we're comfortable with the idea of starting down this path.
author Gregory Szorc <gregory.szorc@gmail.com>
date Fri, 19 May 2017 20:29:11 -0700
parents 71eb6a098315
children a0100f34e20b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31905
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
1 #!/bin/sh
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
2 # setup config and various utility to test obsolescence marker exchanges tests
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
3
32007
f12b6185d435 testlib: move the prune alias into a shell script for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31905
diff changeset
4 cat >> $TESTTMP/prune.sh << EOF
f12b6185d435 testlib: move the prune alias into a shell script for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31905
diff changeset
5 rev=\`hg log --hidden --template '{node}\n' --rev "\$3"\`
f12b6185d435 testlib: move the prune alias into a shell script for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31905
diff changeset
6
f12b6185d435 testlib: move the prune alias into a shell script for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31905
diff changeset
7 hg debugobsolete --record-parents \$1 "\$2" \$rev \
f12b6185d435 testlib: move the prune alias into a shell script for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31905
diff changeset
8 && hg up --quiet 'max((::.) - obsolete())'
f12b6185d435 testlib: move the prune alias into a shell script for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31905
diff changeset
9 EOF
f12b6185d435 testlib: move the prune alias into a shell script for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31905
diff changeset
10
31905
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
11 cat >> $HGRCPATH <<EOF
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
12 [web]
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
13 # We test http pull and push, drop authentication requirement
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
14 push_ssl = false
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
15 allow_push = *
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
16
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
17 [ui]
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
18 # simpler log output
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
19 logtemplate ="{node|short} ({phase}): {desc}\n"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
20
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
21 [phases]
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
22 # non publishing server
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
23 publish=False
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
24
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
25 [experimental]
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
26 # reduce output changes
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
27 bundle2-output-capture=True
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
28 # enable evolution
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
29 evolution=all
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
30
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
31 [extensions]
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
32 # we need to strip some changeset for some test cases
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
33 hgext.strip=
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
34
32629
71eb6a098315 strip: strip obsmarkers exclusive to the stripped changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32007
diff changeset
35 [devel]
71eb6a098315 strip: strip obsmarkers exclusive to the stripped changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32007
diff changeset
36 strip-obsmarkers = no
71eb6a098315 strip: strip obsmarkers exclusive to the stripped changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32007
diff changeset
37
31905
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
38 [alias]
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
39 # fix date used to create obsolete markers.
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
40 debugobsolete=debugobsolete -d '0 0'
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
41 # poor man substiture to the evolve 'hg prune'. using prune makes the test clearer and
32007
f12b6185d435 testlib: move the prune alias into a shell script for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 31905
diff changeset
42 prune = !sh $TESTTMP/prune.sh \$1 "\$2" "\$3"
31905
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
43 EOF
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
44
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
45 mkcommit() {
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
46 echo "$1" > "$1"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
47 hg add "$1"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
48 hg ci -m "$1"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
49 }
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
50 getid() {
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
51 hg log --hidden --template '{node}\n' --rev "$1"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
52 }
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
53
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
54 setuprepos() {
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
55 echo creating test repo for test case $1
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
56 mkdir $1
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
57 cd $1
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
58 echo - pulldest
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
59 hg init pushdest
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
60 cd pushdest
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
61 mkcommit O
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
62 hg phase --public .
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
63 cd ..
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
64 echo - main
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
65 hg clone -q pushdest main
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
66 echo - pushdest
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
67 hg clone -q main pulldest
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
68 echo 'cd into `main` and proceed with env setup'
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
69 }
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
70
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
71 inspect_obsmarkers (){
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
72 # This exist as its own function to help the evolve extension reuse the tests as is.
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
73 # The evolve extensions version will includes more advances query (eg:
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
74 # related to obsmarkers discovery) to this.
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
75 echo 'obsstore content'
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
76 echo '================'
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
77 hg debugobsolete
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
78 }
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
79
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
80 dotest() {
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
81 # dotest TESTNAME [TARGETNODE] [PUSHFLAGS+]
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
82 #
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
83 # test exchange for the given test case.
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
84 #
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
85 # This function performs push and pull in all directions through all
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
86 # protocols and display the resulting obsolescence markers on all sides.
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
87
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
88 testcase=$1
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
89 shift
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
90 target="$1"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
91 if [ $# -gt 0 ]; then
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
92 shift
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
93 fi
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
94 targetnode=""
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
95 desccall=""
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
96 cd $testcase
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
97 echo "## Running testcase $testcase"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
98 if [ -n "$target" ]; then
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
99 desccall="desc("\'"$target"\'")"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
100 targetnode="`hg -R main id -qr \"$desccall\"`"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
101 echo "# testing echange of \"$target\" ($targetnode)"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
102 fi
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
103 echo "## initial state"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
104 echo "# obstore: main"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
105 hg -R main debugobsolete | sort
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
106 echo "# obstore: pushdest"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
107 hg -R pushdest debugobsolete | sort
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
108 echo "# obstore: pulldest"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
109 hg -R pulldest debugobsolete | sort
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
110
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
111 if [ -n "$target" ]; then
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
112 echo "## pushing \"$target\"" from main to pushdest
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
113 hg -R main push -r "$desccall" $@ pushdest
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
114 else
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
115 echo "## pushing from main to pushdest"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
116 hg -R main push pushdest $@
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
117 fi
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
118 echo "## post push state"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
119 echo "# obstore: main"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
120 hg -R main debugobsolete | sort
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
121 echo "# obstore: pushdest"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
122 hg -R pushdest debugobsolete | sort
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
123 echo "# obstore: pulldest"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
124 hg -R pulldest debugobsolete | sort
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
125 if [ -n "$target" ]; then
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
126 echo "## pulling \"$targetnode\"" from main into pulldest
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
127 hg -R pulldest pull -r $targetnode $@ main
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
128 else
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
129 echo "## pulling from main into pulldest"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
130 hg -R pulldest pull main $@
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
131 fi
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
132 echo "## post pull state"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
133 echo "# obstore: main"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
134 hg -R main debugobsolete | sort
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
135 echo "# obstore: pushdest"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
136 hg -R pushdest debugobsolete | sort
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
137 echo "# obstore: pulldest"
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
138 hg -R pulldest debugobsolete | sort
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
139
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
140 cd ..
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
141
00f5d27dd553 obsolescence: add setup script for obsolescence markers exchange tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
142 }