[PATCH 3 of 4 V2] obsolete: use filteredmarkerdict for obsstore dicts
Jun Wu
quark at fb.com
Mon Mar 13 05:48:15 EDT 2017
# HG changeset patch
# User Jun Wu <quark at fb.com>
# Date 1489391940 25200
# Mon Mar 13 00:59:00 2017 -0700
# Node ID 0280ee091bd0ae33aa0a67b0c8a55ccffd2e0718
# Parent 09a30f1a2da8d17d4781b1a66a282265138f4f29
# Available At https://bitbucket.org/quark-zju/hg-draft
# hg pull https://bitbucket.org/quark-zju/hg-draft -r 0280ee091bd0
obsolete: use filteredmarkerdict for obsstore dicts
Now date of an obsmarker matters. Tests are updated to make sure reasonable
"data"s are set so markers will be in the expected order.
diff --git a/mercurial/obsolete.py b/mercurial/obsolete.py
--- a/mercurial/obsolete.py
+++ b/mercurial/obsolete.py
@@ -700,5 +700,5 @@ class obsstore(object):
@propertycache
def successors(self):
- successors = {}
+ successors = filteredmarkerdict(self._nodeversions)
_addsuccessors(successors, self._all)
return successors
@@ -706,5 +706,5 @@ class obsstore(object):
@propertycache
def precursors(self):
- precursors = {}
+ precursors = filteredmarkerdict(self._nodeversions)
_addprecursors(precursors, self._all)
return precursors
@@ -712,5 +712,5 @@ class obsstore(object):
@propertycache
def children(self):
- children = {}
+ children = filteredmarkerdict(self._nodeversions)
_addchildren(children, self._all)
return children
diff --git a/tests/test-obsolete-divergent.t b/tests/test-obsolete-divergent.t
--- a/tests/test-obsolete-divergent.t
+++ b/tests/test-obsolete-divergent.t
@@ -98,9 +98,9 @@ indirect divergence with known changeset
$ newcase indirect_known
- $ hg debugobsolete `getid A_0` `getid A_1`
- $ hg debugobsolete `getid A_0` `getid A_2`
+ $ hg debugobsolete -d '0 0' `getid A_0` `getid A_1`
+ $ hg debugobsolete -d '1 0' `getid A_0` `getid A_2`
$ mkcommit A_3
created new head
- $ hg debugobsolete `getid A_2` `getid A_3`
+ $ hg debugobsolete -d '2 0' `getid A_2` `getid A_3`
$ hg log -G --hidden
@ 4:01f36c5a8fda A_3
@@ -136,7 +136,7 @@ indirect divergence with known changeset
$ newcase indirect_unknown
- $ hg debugobsolete `getid A_0` aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid A_1`
- $ hg debugobsolete `getid A_0` `getid A_2`
+ $ hg debugobsolete -d '0 0' `getid A_0` aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+ $ hg debugobsolete -d '1 0' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid A_1`
+ $ hg debugobsolete -d '2 0' `getid A_0` `getid A_2`
$ hg log -G --hidden
o 3:392fd25390da A_2
@@ -167,9 +167,9 @@ do not take unknown node in account if t
$ newcase final-unknown
- $ hg debugobsolete `getid A_0` `getid A_1`
- $ hg debugobsolete `getid A_1` `getid A_2`
- $ hg debugobsolete `getid A_0` bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- $ hg debugobsolete bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb cccccccccccccccccccccccccccccccccccccccc
- $ hg debugobsolete `getid A_1` dddddddddddddddddddddddddddddddddddddddd
+ $ hg debugobsolete -d '0 0' `getid A_0` `getid A_1`
+ $ hg debugobsolete -d '1 0' `getid A_1` `getid A_2`
+ $ hg debugobsolete -d '2 0' `getid A_0` bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+ $ hg debugobsolete -d '3 0' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb cccccccccccccccccccccccccccccccccccccccc
+ $ hg debugobsolete -d '4 0' `getid A_1` dddddddddddddddddddddddddddddddddddddddd
$ hg debugsuccessorssets --hidden 'desc('A_0')'
@@ -183,10 +183,10 @@ divergence that converge again is not di
$ newcase converged_divergence
- $ hg debugobsolete `getid A_0` `getid A_1`
- $ hg debugobsolete `getid A_0` `getid A_2`
+ $ hg debugobsolete -d '0 0' `getid A_0` `getid A_1`
+ $ hg debugobsolete -d '1 0' `getid A_0` `getid A_2`
$ mkcommit A_3
created new head
- $ hg debugobsolete `getid A_1` `getid A_3`
- $ hg debugobsolete `getid A_2` `getid A_3`
+ $ hg debugobsolete -d '2 0' `getid A_1` `getid A_3`
+ $ hg debugobsolete -d '3 0' `getid A_2` `getid A_3`
$ hg log -G --hidden
@ 4:01f36c5a8fda A_3
@@ -218,5 +218,5 @@ split is not divergences
$ newcase split
- $ hg debugobsolete `getid A_0` `getid A_1` `getid A_2`
+ $ hg debugobsolete -d '0 0' `getid A_0` `getid A_1` `getid A_2`
$ hg log -G --hidden
o 3:392fd25390da A_2
@@ -243,15 +243,15 @@ Even when subsequent rewriting happen
$ mkcommit A_3
created new head
- $ hg debugobsolete `getid A_1` `getid A_3`
+ $ hg debugobsolete -d '1 0' `getid A_1` `getid A_3`
$ hg up 0
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ mkcommit A_4
created new head
- $ hg debugobsolete `getid A_2` `getid A_4`
+ $ hg debugobsolete -d '2 0' `getid A_2` `getid A_4`
$ hg up 0
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ mkcommit A_5
created new head
- $ hg debugobsolete `getid A_4` `getid A_5`
+ $ hg debugobsolete -d '3 0' `getid A_4` `getid A_5`
$ hg log -G --hidden
@ 6:e442cfc57690 A_5
@@ -290,5 +290,5 @@ Check more complex obsolescence graft (w
$ mkcommit B_0; hg up 0
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
- $ hg debugobsolete `getid B_0` `getid A_2`
+ $ hg debugobsolete -d '1 0' `getid B_0` `getid A_2`
$ mkcommit A_7; hg up 0
created new head
@@ -297,9 +297,9 @@ Check more complex obsolescence graft (w
created new head
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- $ hg debugobsolete `getid A_5` `getid A_7` `getid A_8`
+ $ hg debugobsolete -d '5 0' `getid A_5` `getid A_7` `getid A_8`
$ mkcommit A_9; hg up 0
created new head
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- $ hg debugobsolete `getid A_5` `getid A_9`
+ $ hg debugobsolete -d '6 0' `getid A_5` `getid A_9`
$ hg log -G --hidden
o 10:bed64f5d2f5a A_9
@@ -364,7 +364,7 @@ fix the divergence
created new head
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- $ hg debugobsolete `getid A_9` `getid A_A`
- $ hg debugobsolete `getid A_7` `getid A_A`
- $ hg debugobsolete `getid A_8` `getid A_A`
+ $ hg debugobsolete -d '7 0' `getid A_9` `getid A_A`
+ $ hg debugobsolete -d '8 0' `getid A_7` `getid A_A`
+ $ hg debugobsolete -d '9 0' `getid A_8` `getid A_A`
$ hg log -G --hidden
o 11:a139f71be9da A_A
@@ -429,6 +429,6 @@ successors-set. (report [A,B] not [A] +
$ newcase subset
- $ hg debugobsolete `getid A_0` `getid A_2`
- $ hg debugobsolete `getid A_0` `getid A_1` `getid A_2`
+ $ hg debugobsolete -d '0 0' `getid A_0` `getid A_2`
+ $ hg debugobsolete -d '1 0' `getid A_0` `getid A_1` `getid A_2`
$ hg debugsuccessorssets --hidden 'desc('A_0')'
007dc284c1f8
diff --git a/tests/test-obsolete.t b/tests/test-obsolete.t
--- a/tests/test-obsolete.t
+++ b/tests/test-obsolete.t
@@ -256,5 +256,5 @@ We need to create a clone of 5 and add a
$ hg ci -m 'add n3w_3_c'
created new head
- $ hg debugobsolete -d '1338 0' --flags 1 `getid new_3_c` `getid n3w_3_c`
+ $ hg debugobsolete -d '1340 0' --flags 1 `getid new_3_c` `getid n3w_3_c`
$ hg log -r 'bumped()'
$ hg log -G
@@ -328,5 +328,5 @@ Try to pull markers
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
- 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
+ 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
@@ -338,5 +338,5 @@ Rollback//Transaction support
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
- 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
+ 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
@@ -349,5 +349,5 @@ Rollback//Transaction support
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
- 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
+ 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
@@ -369,5 +369,5 @@ Try to push markers
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
- 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
+ 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
@@ -410,5 +410,5 @@ clone support
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
- 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
+ 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
@@ -420,5 +420,5 @@ On pull
$ hg init tmpe
$ cd tmpe
- $ hg debugobsolete -d '1339 0' 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00
+ $ hg debugobsolete -d '1337 0' 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00
$ hg pull ../tmpb
pulling from ../tmpb
@@ -431,8 +431,8 @@ On pull
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg debugobsolete
- 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
+ 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
- 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
+ 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
@@ -450,8 +450,8 @@ On push
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
- 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
+ 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
- 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
+ 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
detect outgoing obsolete and unstable
@@ -605,8 +605,8 @@ List of all markers
$ hg debugobsolete
- 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
+ 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
- 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
+ 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
@@ -627,7 +627,7 @@ List of changesets with a longer chain,
$ hg debugobsolete --hidden --rev 3
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
- 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
+ 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
- 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
+ 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
@@ -638,7 +638,7 @@ List of both
$ hg debugobsolete --hidden --rev 3::6
1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
- 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
+ 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
- 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
+ 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
@@ -651,5 +651,5 @@ List of all markers in JSON
[
{
- "date": [1339.0, 0],
+ "date": [1337.0, 0],
"flag": 0,
"metadata": {"user": "test"},
@@ -672,5 +672,5 @@ List of all markers in JSON
},
{
- "date": [1338.0, 0],
+ "date": [1340.0, 0],
"flag": 1,
"metadata": {"user": "test"},
@@ -802,6 +802,6 @@ reenable for later test
Several troubles on the same changeset (create an unstable and bumped changeset)
- $ hg debugobsolete `getid obsolete_e`
- $ hg debugobsolete `getid original_c` `getid babar`
+ $ hg debugobsolete -d '2147483640 0' `getid obsolete_e`
+ $ hg debugobsolete -d '2000 0' `getid original_c` `getid babar`
$ hg log --config ui.logtemplate= -r 'bumped() and unstable()'
changeset: 7:50c51b361e60
More information about the Mercurial-devel
mailing list