comparison tests/test-obsolete.t @ 217:786eb34d93ea

obsolete: refuse to push unstable changeset without -f We do not alter phase of suspended and unstable changeset anymore. But push refuse to push them without force. The extinct part of the history stay secret for simplicity shake.
author Pierre-Yves David <pierre-yves.david@logilab.fr>
date Tue, 24 Apr 2012 16:30:58 +0200
parents 0eceb5a48485
children ace5608350b6
comparison
equal deleted inserted replaced
216:9400e234b3d7 217:786eb34d93ea
2 > [web] 2 > [web]
3 > push_ssl = false 3 > push_ssl = false
4 > allow_push = * 4 > allow_push = *
5 > [phases] 5 > [phases]
6 > publish=False 6 > publish=False
7 > [obsolete]
8 > secret-unstable=no
9 > [alias] 7 > [alias]
10 > odiff=diff --rev 'limit(obsparents(.),1)' --rev . 8 > odiff=diff --rev 'limit(obsparents(.),1)' --rev .
11 > [extensions] 9 > [extensions]
12 > hgext.graphlog= 10 > hgext.graphlog=
13 > EOF 11 > EOF
115 113
116 Test communication of obsolete relation with a compatible client 114 Test communication of obsolete relation with a compatible client
117 115
118 $ hg init ../other-new 116 $ hg init ../other-new
119 $ hg phase --draft 'secret() - extinct()' # until we fix exclusion 117 $ hg phase --draft 'secret() - extinct()' # until we fix exclusion
120 $ hg push --traceback ../other-new 118 $ hg push ../other-new
119 pushing to ../other-new
120 searching for changes
121 abort: Trying to push unstable changeset: a7a6f2b5d8a5!
122 (use 'hg stabilize' to get a stable history (or --force to proceed))
123 [255]
124 $ hg push -f ../other-new
121 pushing to ../other-new 125 pushing to ../other-new
122 searching for changes 126 searching for changes
123 adding changesets 127 adding changesets
124 adding manifests 128 adding manifests
125 adding file changes 129 adding file changes
161 0 165 0
162 - 1f0dee641bb7 166 - 1f0dee641bb7
163 $ qlog -r 'obsolete()' 167 $ qlog -r 'obsolete()'
164 3 168 3
165 - 0d3f46688ccc 169 - 0d3f46688ccc
166 $ hg push ../other-new -f # XXX should not have to use -f 170 $ hg push ../other-new
171 pushing to ../other-new
172 searching for changes
173 abort: Trying to push unstable changeset: 95de7fc6918d!
174 (use 'hg stabilize' to get a stable history (or --force to proceed))
175 [255]
176 $ hg push ../other-new -f # use f because there is unstability
167 pushing to ../other-new 177 pushing to ../other-new
168 searching for changes 178 searching for changes
169 adding changesets 179 adding changesets
170 adding manifests 180 adding manifests
171 adding file changes 181 adding file changes
224 > # XXX I don't like this but changeset get published otherwise 234 > # XXX I don't like this but changeset get published otherwise
225 > # remove it when we will get a --keep-state flag for push 235 > # remove it when we will get a --keep-state flag for push
226 $ echo '[extensions]' > ../other-old/.hg/hgrc 236 $ echo '[extensions]' > ../other-old/.hg/hgrc
227 $ echo "obsolete=!$(echo $(dirname $TESTDIR))/obsolete.py" >> ../other-old/.hg/hgrc 237 $ echo "obsolete=!$(echo $(dirname $TESTDIR))/obsolete.py" >> ../other-old/.hg/hgrc
228 $ hg push ../other-old 238 $ hg push ../other-old
239 pushing to ../other-old
240 searching for changes
241 abort: Trying to push unstable changeset: 909a0fb57e5d!
242 (use 'hg stabilize' to get a stable history (or --force to proceed))
243 [255]
244 $ hg push -f ../other-old
229 pushing to ../other-old 245 pushing to ../other-old
230 searching for changes 246 searching for changes
231 adding changesets 247 adding changesets
232 adding manifests 248 adding manifests
233 adding file changes 249 adding file changes