# HG changeset patch # User Jun Wu <qu...@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 _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel