Mercurial > hg
comparison tests/test-obsolete.t @ 17171:9c750c3e4fac
obsolete: compute unstable changeset
An unstable changeset is a changeset *not* obsolete but with some obsolete
ancestors.
The current logic to decide if a changeset is unstable is naive and very
inefficient. A better solution is to compute the set of unstable changeset with
a simple revset and to cache the result. But this require cache invalidation
logic. Simpler version goes first.
author | Pierre-Yves David <pierre-yves.david@logilab.fr> |
---|---|
date | Fri, 06 Jul 2012 00:18:09 +0200 |
parents | 63a4a3871607 |
children | 12fdaa30063a |
comparison
equal
deleted
inserted
replaced
17170:63a4a3871607 | 17171:9c750c3e4fac |
---|---|
1 | 1 $ cat >> $HGRCPATH << EOF |
2 > [extensions] | |
3 > graphlog= | |
4 > [phases] | |
5 > # public changeset are not obsolete | |
6 > publish=false | |
7 > EOF | |
2 $ mkcommit() { | 8 $ mkcommit() { |
3 > echo "$1" > "$1" | 9 > echo "$1" > "$1" |
4 > hg add "$1" | 10 > hg add "$1" |
5 > hg ci -m "add $1" | 11 > hg ci -m "add $1" |
6 > } | 12 > } |
60 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'} | 66 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'} |
61 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'} | 67 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'} |
62 | 68 |
63 Check that graphlog detect that a changeset is obsolete: | 69 Check that graphlog detect that a changeset is obsolete: |
64 | 70 |
65 $ hg --config 'extensions.graphlog=' glog | 71 $ hg glog |
66 @ changeset: 5:5601fb93a350 | 72 @ changeset: 5:5601fb93a350 |
67 | tag: tip | 73 | tag: tip |
68 | parent: 1:7c3bad9141dc | 74 | parent: 1:7c3bad9141dc |
69 | user: test | 75 | user: test |
70 | date: Thu Jan 01 00:00:00 1970 +0000 | 76 | date: Thu Jan 01 00:00:00 1970 +0000 |
228 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'} | 234 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'} |
229 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'} | 235 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'} |
230 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'} | 236 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'} |
231 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'} | 237 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'} |
232 | 238 |
239 | |
233 On push | 240 On push |
234 | 241 |
235 $ hg push ../tmpc | 242 $ hg push ../tmpc |
236 pushing to ../tmpc | 243 pushing to ../tmpc |
237 searching for changes | 244 searching for changes |
241 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'} | 248 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f 0 {'date': '56 12', 'user': 'test'} |
242 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'} | 249 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 {'date': '1337 0', 'user': 'test'} |
243 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'} | 250 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 {'date': '1338 0', 'user': 'test'} |
244 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'} | 251 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 {'date': '1339 0', 'user': 'test'} |
245 2448244824482448244824482448244824482448 1339133913391339133913391339133913391339 0 {'date': '1339 0', 'user': 'test'} | 252 2448244824482448244824482448244824482448 1339133913391339133913391339133913391339 0 {'date': '1339 0', 'user': 'test'} |
253 | |
254 detect outgoing obsolete and unstable | |
255 --------------------------------------- | |
256 | |
257 $ hg glog | |
258 o changeset: 5:5601fb93a350 | |
259 | tag: tip | |
260 | parent: 1:7c3bad9141dc | |
261 | user: test | |
262 | date: Thu Jan 01 00:00:00 1970 +0000 | |
263 | summary: add new_3_c | |
264 | | |
265 | x changeset: 4:ca819180edb9 | |
266 |/ parent: 1:7c3bad9141dc | |
267 | user: test | |
268 | date: Thu Jan 01 00:00:00 1970 +0000 | |
269 | summary: add new_2_c | |
270 | | |
271 | x changeset: 3:cdbce2fbb163 | |
272 |/ parent: 1:7c3bad9141dc | |
273 | user: test | |
274 | date: Thu Jan 01 00:00:00 1970 +0000 | |
275 | summary: add new_c | |
276 | | |
277 | o changeset: 2:245bde4270cd | |
278 |/ user: test | |
279 | date: Thu Jan 01 00:00:00 1970 +0000 | |
280 | summary: add original_c | |
281 | | |
282 o changeset: 1:7c3bad9141dc | |
283 | user: test | |
284 | date: Thu Jan 01 00:00:00 1970 +0000 | |
285 | summary: add b | |
286 | | |
287 o changeset: 0:1f0dee641bb7 | |
288 user: test | |
289 date: Thu Jan 01 00:00:00 1970 +0000 | |
290 summary: add a | |
291 | |
292 $ hg up -q 'desc("new_2_c")' | |
293 $ mkcommit original_d | |
294 $ hg glog -r '::unstable()' | |
295 @ changeset: 6:7878242aeece | |
296 | tag: tip | |
297 | parent: 4:ca819180edb9 | |
298 | user: test | |
299 | date: Thu Jan 01 00:00:00 1970 +0000 | |
300 | summary: add original_d | |
301 | | |
302 x changeset: 4:ca819180edb9 | |
303 | parent: 1:7c3bad9141dc | |
304 | user: test | |
305 | date: Thu Jan 01 00:00:00 1970 +0000 | |
306 | summary: add new_2_c | |
307 | | |
308 o changeset: 1:7c3bad9141dc | |
309 | user: test | |
310 | date: Thu Jan 01 00:00:00 1970 +0000 | |
311 | summary: add b | |
312 | | |
313 o changeset: 0:1f0dee641bb7 | |
314 user: test | |
315 date: Thu Jan 01 00:00:00 1970 +0000 | |
316 summary: add a | |
317 |