Mercurial > hg > evolve
changeset 2324:3b18440cca74
debugstablerange: improve output spacing
On repo with a descent amount of changeset the number where overflowing in all
directions. We give use more room now.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Fri, 24 Mar 2017 09:40:50 +0100 |
parents | 4b621b56e3a1 |
children | 575561934439 |
files | hgext3rd/evolve/obsdiscovery.py tests/test-discovery-obshashrange.t tests/test-evolve.t tests/test-exchange-A1.t tests/test-exchange-A2.t tests/test-exchange-A3.t tests/test-exchange-A4.t tests/test-exchange-A5.t tests/test-exchange-A6.t tests/test-exchange-A7.t tests/test-exchange-B1.t tests/test-exchange-B2.t tests/test-exchange-B3.t tests/test-exchange-B4.t tests/test-exchange-B5.t tests/test-exchange-B6.t tests/test-exchange-B7.t tests/test-exchange-C1.t tests/test-exchange-C2.t tests/test-exchange-C3.t tests/test-exchange-C4.t tests/test-exchange-D1.t tests/test-exchange-D2.t tests/test-exchange-D3.t tests/test-exchange-D4.t tests/test-stablerange.t |
diffstat | 26 files changed, 514 insertions(+), 511 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext3rd/evolve/obsdiscovery.py +++ b/hgext3rd/evolve/obsdiscovery.py @@ -402,7 +402,10 @@ rangelength = repo.stablerange.rangelength depthrev = repo.stablerange.depthrev ranges = stablerange.subrangesclosure(repo, revs) - ui.status('rev node index size depth obshash\n') + headers = ('rev', 'node', 'index', 'size', 'depth', 'obshash') + linetemplate = '%12d %12s %12d %12d %12d %12s\n' + headertemplate = linetemplate.replace('d', 's') + ui.status(headertemplate % headers) for r in ranges: d = (r[0], s(cl.node(r[0])), @@ -410,7 +413,7 @@ rangelength(repo, r), depthrev(repo, r[0]), node.short(_obshashrange(repo, r))) - ui.status('%3d %s %5d %4d %5d %s\n' % d) + ui.status(linetemplate % d) def _obshashrange(repo, rangeid): """return the obsolete hash associated to a range"""
--- a/tests/test-discovery-obshashrange.t +++ b/tests/test-discovery-obshashrange.t @@ -58,22 +58,22 @@ eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 4de32a90b66cd083ebf3c00b41277aa7abca51dd 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} $ hg debugstablerange --rev tip - rev node index size depth obshash - 7 4de32a90b66c 0 8 8 38d1e7ad86ea - 3 2dc09a01254d 0 4 4 000000000000 - 7 4de32a90b66c 4 4 8 38d1e7ad86ea - 3 2dc09a01254d 2 2 4 000000000000 - 7 4de32a90b66c 6 2 8 033544c939f0 - 1 66f7d451a68b 0 2 2 17ff8dd63509 - 5 c8d03c1b5e94 4 2 6 57f6cf3757a2 - 2 01241442b3c2 2 1 3 1ed3c61fb39a - 0 1ea73414a91b 0 1 1 000000000000 - 3 2dc09a01254d 3 1 4 000000000000 - 7 4de32a90b66c 7 1 8 033544c939f0 - 1 66f7d451a68b 1 1 2 17ff8dd63509 - 4 bebd167eb94d 4 1 5 bbe4d7fe27a8 - 5 c8d03c1b5e94 5 1 6 446c2dc3bce5 - 6 f69452c5b1af 6 1 7 000000000000 + rev node index size depth obshash + 7 4de32a90b66c 0 8 8 38d1e7ad86ea + 3 2dc09a01254d 0 4 4 000000000000 + 7 4de32a90b66c 4 4 8 38d1e7ad86ea + 3 2dc09a01254d 2 2 4 000000000000 + 7 4de32a90b66c 6 2 8 033544c939f0 + 1 66f7d451a68b 0 2 2 17ff8dd63509 + 5 c8d03c1b5e94 4 2 6 57f6cf3757a2 + 2 01241442b3c2 2 1 3 1ed3c61fb39a + 0 1ea73414a91b 0 1 1 000000000000 + 3 2dc09a01254d 3 1 4 000000000000 + 7 4de32a90b66c 7 1 8 033544c939f0 + 1 66f7d451a68b 1 1 2 17ff8dd63509 + 4 bebd167eb94d 4 1 5 bbe4d7fe27a8 + 5 c8d03c1b5e94 5 1 6 446c2dc3bce5 + 6 f69452c5b1af 6 1 7 000000000000 $ cd .. testing simple pull
--- a/tests/test-evolve.t +++ b/tests/test-evolve.t @@ -172,10 +172,10 @@ Smoketest stablerange.obshash: $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 1 7c3bad9141dc 0 2 2 * (glob) - 0 1f0dee641bb7 0 1 1 000000000000 - 1 7c3bad9141dc 1 1 2 * (glob) + rev node index size depth obshash + 1 7c3bad9141dc 0 2 2 * (glob) + 0 1f0dee641bb7 0 1 1 000000000000 + 1 7c3bad9141dc 1 1 2 * (glob) $ cd ..
--- a/tests/test-exchange-A1.t +++ b/tests/test-exchange-A1.t @@ -49,10 +49,10 @@ a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04 0000000000000000000000000000000000000000 f5bc6836db60e308a17ba08bf050154ba9c4fad7 50656e04a95ecdfed94659dd61f663b2caa55e98 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 1 f5bc6836db60 0 2 2 50656e04a95e - 0 a9bdc8b26820 0 1 1 000000000000 - 1 f5bc6836db60 1 1 2 50656e04a95e + rev node index size depth obshash + 1 f5bc6836db60 0 2 2 50656e04a95e + 0 a9bdc8b26820 0 1 1 000000000000 + 1 f5bc6836db60 1 1 2 50656e04a95e $ cd .. $ cd ..
--- a/tests/test-exchange-A2.t +++ b/tests/test-exchange-A2.t @@ -62,12 +62,12 @@ f5bc6836db60e308a17ba08bf050154ba9c4fad7 50656e04a95ecdfed94659dd61f663b2caa55e98 35b1839966785d5703a01607229eea932db42f87 b9c8f20eef8938ebab939fe6a592587feacf3245 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 2 35b183996678 0 2 2 b9c8f20eef89 - 1 f5bc6836db60 0 2 2 50656e04a95e - 2 35b183996678 1 1 2 b9c8f20eef89 - 0 a9bdc8b26820 0 1 1 000000000000 - 1 f5bc6836db60 1 1 2 50656e04a95e + rev node index size depth obshash + 2 35b183996678 0 2 2 b9c8f20eef89 + 1 f5bc6836db60 0 2 2 50656e04a95e + 2 35b183996678 1 1 2 b9c8f20eef89 + 0 a9bdc8b26820 0 1 1 000000000000 + 1 f5bc6836db60 1 1 2 50656e04a95e $ cd .. $ cd ..
--- a/tests/test-exchange-A3.t +++ b/tests/test-exchange-A3.t @@ -77,12 +77,12 @@ e5ea8f9c73143125d36658e90ef70c6d2027a5b7 3bc2ee626e11a7cf8fee7a66d069271e17d5a597 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 91716bfd671b5a5854a47ac5d392edfdd25e431a $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 3 e5ea8f9c7314 0 2 2 3bc2ee626e11 - 4 f6298a8ac3a4 0 2 2 91716bfd671b - 0 a9bdc8b26820 0 1 1 000000000000 - 3 e5ea8f9c7314 1 1 2 3bc2ee626e11 - 4 f6298a8ac3a4 1 1 2 91716bfd671b + rev node index size depth obshash + 3 e5ea8f9c7314 0 2 2 3bc2ee626e11 + 4 f6298a8ac3a4 0 2 2 91716bfd671b + 0 a9bdc8b26820 0 1 1 000000000000 + 3 e5ea8f9c7314 1 1 2 3bc2ee626e11 + 4 f6298a8ac3a4 1 1 2 91716bfd671b $ cd .. $ cd ..
--- a/tests/test-exchange-A4.t +++ b/tests/test-exchange-A4.t @@ -69,14 +69,14 @@ 06055a7959d4128e6e3bccfd01482e83a2db8a3a fd3e5712c9c2d216547d7a1b87ac815ee1fb7542 e5ea8f9c73143125d36658e90ef70c6d2027a5b7 cf518031fa753e9b049d727e6b0e19f645bab38f $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 2 06055a7959d4 0 3 3 000000000000 - 1 28b51eb45704 0 2 2 5d69322fad9e - 3 e5ea8f9c7314 0 2 2 cf518031fa75 - 2 06055a7959d4 2 1 3 000000000000 - 1 28b51eb45704 1 1 2 5d69322fad9e - 0 a9bdc8b26820 0 1 1 000000000000 - 3 e5ea8f9c7314 1 1 2 cf518031fa75 + rev node index size depth obshash + 2 06055a7959d4 0 3 3 000000000000 + 1 28b51eb45704 0 2 2 5d69322fad9e + 3 e5ea8f9c7314 0 2 2 cf518031fa75 + 2 06055a7959d4 2 1 3 000000000000 + 1 28b51eb45704 1 1 2 5d69322fad9e + 0 a9bdc8b26820 0 1 1 000000000000 + 3 e5ea8f9c7314 1 1 2 cf518031fa75 $ cd .. $ cd ..
--- a/tests/test-exchange-A5.t +++ b/tests/test-exchange-A5.t @@ -76,12 +76,12 @@ f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 91716bfd671b5a5854a47ac5d392edfdd25e431a 8c0a98c8372212c6efde4bfdcef006f27ff759d3 6e8c8c71c47a2bfc27c7cf2b1f4174977ede9f21 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 4 8c0a98c83722 0 3 3 70185b996296 - 3 f6298a8ac3a4 0 2 2 91716bfd671b - 4 8c0a98c83722 2 1 3 4d835a45c1e9 - 0 a9bdc8b26820 0 1 1 000000000000 - 3 f6298a8ac3a4 1 1 2 91716bfd671b + rev node index size depth obshash + 4 8c0a98c83722 0 3 3 70185b996296 + 3 f6298a8ac3a4 0 2 2 91716bfd671b + 4 8c0a98c83722 2 1 3 4d835a45c1e9 + 0 a9bdc8b26820 0 1 1 000000000000 + 3 f6298a8ac3a4 1 1 2 91716bfd671b $ cd .. $ cd ..
--- a/tests/test-exchange-A6.t +++ b/tests/test-exchange-A6.t @@ -64,10 +64,10 @@ 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0000000000000000000000000000000000000000 e5ea8f9c73143125d36658e90ef70c6d2027a5b7 3bc2ee626e11a7cf8fee7a66d069271e17d5a597 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 2 e5ea8f9c7314 0 2 2 3bc2ee626e11 - 0 a9bdc8b26820 0 1 1 000000000000 - 2 e5ea8f9c7314 1 1 2 3bc2ee626e11 + rev node index size depth obshash + 2 e5ea8f9c7314 0 2 2 3bc2ee626e11 + 0 a9bdc8b26820 0 1 1 000000000000 + 2 e5ea8f9c7314 1 1 2 3bc2ee626e11 $ cd .. $ cd ..
--- a/tests/test-exchange-A7.t +++ b/tests/test-exchange-A7.t @@ -46,10 +46,10 @@ a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04 0000000000000000000000000000000000000000 f5bc6836db60e308a17ba08bf050154ba9c4fad7 50656e04a95ecdfed94659dd61f663b2caa55e98 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 1 f5bc6836db60 0 2 2 50656e04a95e - 0 a9bdc8b26820 0 1 1 000000000000 - 1 f5bc6836db60 1 1 2 50656e04a95e + rev node index size depth obshash + 1 f5bc6836db60 0 2 2 50656e04a95e + 0 a9bdc8b26820 0 1 1 000000000000 + 1 f5bc6836db60 1 1 2 50656e04a95e $ cd .. $ cd ..
--- a/tests/test-exchange-B1.t +++ b/tests/test-exchange-B1.t @@ -51,10 +51,10 @@ f5bc6836db60e308a17ba08bf050154ba9c4fad7 926d9d84b97b3483891ae983990ad87c1f7827e9 f6fbb35d8ac958bbe70035e4c789c18471cdc0af e041f7ff1c7bd5501c7ab602baa35f0873128021 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 1 f5bc6836db60 0 2 2 926d9d84b97b - 0 a9bdc8b26820 0 1 1 000000000000 - 1 f5bc6836db60 1 1 2 926d9d84b97b + rev node index size depth obshash + 1 f5bc6836db60 0 2 2 926d9d84b97b + 0 a9bdc8b26820 0 1 1 000000000000 + 1 f5bc6836db60 1 1 2 926d9d84b97b $ cd .. $ cd ..
--- a/tests/test-exchange-B2.t +++ b/tests/test-exchange-B2.t @@ -45,8 +45,8 @@ a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04 52a5380bc04783a9ad43bb2ab2f47a02ef02adcc f5bc6836db60e308a17ba08bf050154ba9c4fad7 c5a567339e205e8cc4c494e4fb82944daaec449c $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 0 a9bdc8b26820 0 1 1 52a5380bc047 + rev node index size depth obshash + 0 a9bdc8b26820 0 1 1 52a5380bc047 $ cd .. $ cd ..
--- a/tests/test-exchange-B3.t +++ b/tests/test-exchange-B3.t @@ -63,12 +63,12 @@ 35b1839966785d5703a01607229eea932db42f87 631ab4cd02ffa1d144dc8f32a18be574076031e3 e56289ab6378dc752fd7965f8bf66b58bda740bd 47c9d2d8db5d4b1eddd0266329ad260ccc84772c $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 2 35b183996678 0 2 2 631ab4cd02ff - 1 f5bc6836db60 0 2 2 000000000000 - 2 35b183996678 1 1 2 631ab4cd02ff - 0 a9bdc8b26820 0 1 1 000000000000 - 1 f5bc6836db60 1 1 2 000000000000 + rev node index size depth obshash + 2 35b183996678 0 2 2 631ab4cd02ff + 1 f5bc6836db60 0 2 2 000000000000 + 2 35b183996678 1 1 2 631ab4cd02ff + 0 a9bdc8b26820 0 1 1 000000000000 + 1 f5bc6836db60 1 1 2 000000000000 $ cd .. $ cd ..
--- a/tests/test-exchange-B4.t +++ b/tests/test-exchange-B4.t @@ -73,12 +73,12 @@ f6fbb35d8ac958bbe70035e4c789c18471cdc0af 907beff79fdff2b82b5d3bed7989107a6d744508 7f7f229b13a629a5b20581c6cb723f4e2ca54bed c27e764c783f451ef3aa40daf2a3795e6674cd06 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 2 f6fbb35d8ac9 0 3 3 000000000000 - 1 f5bc6836db60 0 2 2 000000000000 - 0 a9bdc8b26820 0 1 1 1900882e85db - 1 f5bc6836db60 1 1 2 000000000000 - 2 f6fbb35d8ac9 2 1 3 000000000000 + rev node index size depth obshash + 2 f6fbb35d8ac9 0 3 3 000000000000 + 1 f5bc6836db60 0 2 2 000000000000 + 0 a9bdc8b26820 0 1 1 1900882e85db + 1 f5bc6836db60 1 1 2 000000000000 + 2 f6fbb35d8ac9 2 1 3 000000000000 $ cd .. $ cd ..
--- a/tests/test-exchange-B5.t +++ b/tests/test-exchange-B5.t @@ -72,12 +72,12 @@ 06055a7959d4128e6e3bccfd01482e83a2db8a3a 201e20697f2a6b0752335af7cd813f140e9e653e e5ea8f9c73143125d36658e90ef70c6d2027a5b7 ae1ac676a5e6d6f4216595c53da763d588929970 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 2 06055a7959d4 0 3 3 000000000000 - 1 28b51eb45704 0 2 2 000000000000 - 2 06055a7959d4 2 1 3 000000000000 - 1 28b51eb45704 1 1 2 000000000000 - 0 a9bdc8b26820 0 1 1 554c0b12f7d9 + rev node index size depth obshash + 2 06055a7959d4 0 3 3 000000000000 + 1 28b51eb45704 0 2 2 000000000000 + 2 06055a7959d4 2 1 3 000000000000 + 1 28b51eb45704 1 1 2 000000000000 + 0 a9bdc8b26820 0 1 1 554c0b12f7d9 $ cd .. $ cd ..
--- a/tests/test-exchange-B6.t +++ b/tests/test-exchange-B6.t @@ -62,10 +62,10 @@ 962ecf6b1afc94e15c7e48fdfb76ef8abd11372b 974507d1c466d0aa86d288836194339ed3b98736 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 04e03a8959d8a39984e6a8f4a16fba975b364747 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 1 f5bc6836db60 0 2 2 000000000000 - 0 a9bdc8b26820 0 1 1 86e41541149f - 1 f5bc6836db60 1 1 2 000000000000 + rev node index size depth obshash + 1 f5bc6836db60 0 2 2 000000000000 + 0 a9bdc8b26820 0 1 1 86e41541149f + 1 f5bc6836db60 1 1 2 000000000000 $ cd .. $ cd ..
--- a/tests/test-exchange-B7.t +++ b/tests/test-exchange-B7.t @@ -54,10 +54,10 @@ f5bc6836db60e308a17ba08bf050154ba9c4fad7 926d9d84b97b3483891ae983990ad87c1f7827e9 f6fbb35d8ac958bbe70035e4c789c18471cdc0af e041f7ff1c7bd5501c7ab602baa35f0873128021 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 1 f5bc6836db60 0 2 2 926d9d84b97b - 0 a9bdc8b26820 0 1 1 000000000000 - 1 f5bc6836db60 1 1 2 926d9d84b97b + rev node index size depth obshash + 1 f5bc6836db60 0 2 2 926d9d84b97b + 0 a9bdc8b26820 0 1 1 000000000000 + 1 f5bc6836db60 1 1 2 926d9d84b97b $ cd .. $ cd ..
--- a/tests/test-exchange-C1.t +++ b/tests/test-exchange-C1.t @@ -53,8 +53,8 @@ f5bc6836db60e308a17ba08bf050154ba9c4fad7 92af733686ce7e0469d8b2b87b4612a4c2d33468 f6fbb35d8ac958bbe70035e4c789c18471cdc0af 3800aeba3728457abb9c508c94f6abc59e698c55 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 0 a9bdc8b26820 0 1 1 1ce18e5a71f7 + rev node index size depth obshash + 0 a9bdc8b26820 0 1 1 1ce18e5a71f7 $ cd .. $ cd ..
--- a/tests/test-exchange-C2.t +++ b/tests/test-exchange-C2.t @@ -61,10 +61,10 @@ 06055a7959d4128e6e3bccfd01482e83a2db8a3a 58ecf9a107b10986d88da605eb0d03b7f24ae486 e5ea8f9c73143125d36658e90ef70c6d2027a5b7 289cb0d058c81c763eca8bb438657dba9a7ba646 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 3 e5ea8f9c7314 0 2 2 289cb0d058c8 - 0 a9bdc8b26820 0 1 1 000000000000 - 3 e5ea8f9c7314 1 1 2 289cb0d058c8 + rev node index size depth obshash + 3 e5ea8f9c7314 0 2 2 289cb0d058c8 + 0 a9bdc8b26820 0 1 1 000000000000 + 3 e5ea8f9c7314 1 1 2 289cb0d058c8 $ cd .. $ cd ..
--- a/tests/test-exchange-C3.t +++ b/tests/test-exchange-C3.t @@ -66,8 +66,8 @@ 06055a7959d4128e6e3bccfd01482e83a2db8a3a 8b648bd67281e9e525919285ac7b3bb2836c2f02 e5ea8f9c73143125d36658e90ef70c6d2027a5b7 dcd2b566ad0983333be704afdc205066e1a6b742 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 0 a9bdc8b26820 0 1 1 40be80b35671 + rev node index size depth obshash + 0 a9bdc8b26820 0 1 1 40be80b35671 $ cd .. $ cd ..
--- a/tests/test-exchange-C4.t +++ b/tests/test-exchange-C4.t @@ -76,10 +76,10 @@ 35b1839966785d5703a01607229eea932db42f87 ddeb7b7a87378f59cecb36d5146df0092b6b3327 7f7f229b13a629a5b20581c6cb723f4e2ca54bed 58ef2e726c5bd89bceffb6243294b38eadbf3d60 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 2 35b183996678 0 2 2 2a098b4a877f - 2 35b183996678 1 1 2 916e804c50de - 0 a9bdc8b26820 0 1 1 a9c02d134f5b + rev node index size depth obshash + 2 35b183996678 0 2 2 2a098b4a877f + 2 35b183996678 1 1 2 916e804c50de + 0 a9bdc8b26820 0 1 1 a9c02d134f5b $ cd .. $ cd ..
--- a/tests/test-exchange-D1.t +++ b/tests/test-exchange-D1.t @@ -56,10 +56,10 @@ a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04 0000000000000000000000000000000000000000 e5ea8f9c73143125d36658e90ef70c6d2027a5b7 289cb0d058c81c763eca8bb438657dba9a7ba646 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 1 e5ea8f9c7314 0 2 2 289cb0d058c8 - 0 a9bdc8b26820 0 1 1 000000000000 - 1 e5ea8f9c7314 1 1 2 289cb0d058c8 + rev node index size depth obshash + 1 e5ea8f9c7314 0 2 2 289cb0d058c8 + 0 a9bdc8b26820 0 1 1 000000000000 + 1 e5ea8f9c7314 1 1 2 289cb0d058c8 $ cd .. $ cd ..
--- a/tests/test-exchange-D2.t +++ b/tests/test-exchange-D2.t @@ -53,8 +53,8 @@ a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04 554c0b12f7d9fff20cb904c26e12eee337e3309c 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 5c81c58ce0a8ad61dd9cf4c6949846b5990af30d $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 0 a9bdc8b26820 0 1 1 554c0b12f7d9 + rev node index size depth obshash + 0 a9bdc8b26820 0 1 1 554c0b12f7d9 $ cd .. $ cd ..
--- a/tests/test-exchange-D3.t +++ b/tests/test-exchange-D3.t @@ -58,10 +58,10 @@ 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0000000000000000000000000000000000000000 35b1839966785d5703a01607229eea932db42f87 65a9f21dff0702355e973a8f31d3b3b7e59376fb $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 2 35b183996678 0 2 2 65a9f21dff07 - 2 35b183996678 1 1 2 65a9f21dff07 - 0 a9bdc8b26820 0 1 1 000000000000 + rev node index size depth obshash + 2 35b183996678 0 2 2 65a9f21dff07 + 2 35b183996678 1 1 2 65a9f21dff07 + 0 a9bdc8b26820 0 1 1 000000000000 $ cd .. $ cd ..
--- a/tests/test-exchange-D4.t +++ b/tests/test-exchange-D4.t @@ -72,12 +72,12 @@ e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0aacc2f86e8fca29f2d5fd8d0790644620acd58a 069b05c3876d56f62895e853a501ea58ea85f68d 40b98bc2b5b1152416ea8e9665ae1c6a3ce32ba0 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 4 069b05c3876d 0 3 3 a2b2331da650 - 3 e5ea8f9c7314 0 2 2 0aacc2f86e8f - 4 069b05c3876d 2 1 3 901f118d4333 - 0 a9bdc8b26820 0 1 1 000000000000 - 3 e5ea8f9c7314 1 1 2 0aacc2f86e8f + rev node index size depth obshash + 4 069b05c3876d 0 3 3 a2b2331da650 + 3 e5ea8f9c7314 0 2 2 0aacc2f86e8f + 4 069b05c3876d 2 1 3 901f118d4333 + 0 a9bdc8b26820 0 1 1 000000000000 + 3 e5ea8f9c7314 1 1 2 0aacc2f86e8f $ cd .. $ cd ..
--- a/tests/test-stablerange.t +++ b/tests/test-stablerange.t @@ -17,113 +17,113 @@ $ cd repo_linear $ hg debugbuilddag '.+6' $ hg debugstablerange --rev 1 - rev node index size depth obshash - 1 66f7d451a68b 0 2 2 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 + rev node index size depth obshash + 1 66f7d451a68b 0 2 2 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 $ hg debugstablerange --rev 1 > 1.range bigger subset reuse most of the previous one $ hg debugstablerange --rev 4 - rev node index size depth obshash - 4 bebd167eb94d 0 5 5 000000000000 - 3 2dc09a01254d 0 4 4 000000000000 - 3 2dc09a01254d 2 2 4 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 3 2dc09a01254d 3 1 4 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 - 4 bebd167eb94d 4 1 5 000000000000 + rev node index size depth obshash + 4 bebd167eb94d 0 5 5 000000000000 + 3 2dc09a01254d 0 4 4 000000000000 + 3 2dc09a01254d 2 2 4 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 3 2dc09a01254d 3 1 4 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 + 4 bebd167eb94d 4 1 5 000000000000 $ hg debugstablerange --rev 4 > 4.range $ diff -u 1.range 4.range --- 1.range * (glob) +++ 4.range * (glob) @@ -1,4 +1,10 @@ - rev node index size depth obshash - + 4 bebd167eb94d 0 5 5 000000000000 - + 3 2dc09a01254d 0 4 4 000000000000 - + 3 2dc09a01254d 2 2 4 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - + 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - + 3 2dc09a01254d 3 1 4 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 - + 4 bebd167eb94d 4 1 5 000000000000 + rev node index size depth obshash + + 4 bebd167eb94d 0 5 5 000000000000 + + 3 2dc09a01254d 0 4 4 000000000000 + + 3 2dc09a01254d 2 2 4 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + + 3 2dc09a01254d 3 1 4 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 + + 4 bebd167eb94d 4 1 5 000000000000 [1] Using a range not ending on 2**N boundary we fall back on 2**N as much as possible $ hg debugstablerange --rev 5 - rev node index size depth obshash - 5 c8d03c1b5e94 0 6 6 000000000000 - 3 2dc09a01254d 0 4 4 000000000000 - 3 2dc09a01254d 2 2 4 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - 5 c8d03c1b5e94 4 2 6 000000000000 - 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 3 2dc09a01254d 3 1 4 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 - 4 bebd167eb94d 4 1 5 000000000000 - 5 c8d03c1b5e94 5 1 6 000000000000 + rev node index size depth obshash + 5 c8d03c1b5e94 0 6 6 000000000000 + 3 2dc09a01254d 0 4 4 000000000000 + 3 2dc09a01254d 2 2 4 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + 5 c8d03c1b5e94 4 2 6 000000000000 + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 3 2dc09a01254d 3 1 4 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 + 4 bebd167eb94d 4 1 5 000000000000 + 5 c8d03c1b5e94 5 1 6 000000000000 $ hg debugstablerange --rev 5 > 5.range $ diff -u 4.range 5.range --- 4.range * (glob) +++ 5.range * (glob) @@ -1,10 +1,12 @@ - rev node index size depth obshash - - 4 bebd167eb94d 0 5 5 000000000000 - + 5 c8d03c1b5e94 0 6 6 000000000000 - 3 2dc09a01254d 0 4 4 000000000000 - 3 2dc09a01254d 2 2 4 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - + 5 c8d03c1b5e94 4 2 6 000000000000 - 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 3 2dc09a01254d 3 1 4 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 - 4 bebd167eb94d 4 1 5 000000000000 - + 5 c8d03c1b5e94 5 1 6 000000000000 + rev node index size depth obshash + - 4 bebd167eb94d 0 5 5 000000000000 + + 5 c8d03c1b5e94 0 6 6 000000000000 + 3 2dc09a01254d 0 4 4 000000000000 + 3 2dc09a01254d 2 2 4 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + + 5 c8d03c1b5e94 4 2 6 000000000000 + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 3 2dc09a01254d 3 1 4 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 + 4 bebd167eb94d 4 1 5 000000000000 + + 5 c8d03c1b5e94 5 1 6 000000000000 [1] Even two unperfect range overlap a lot $ hg debugstablerange --rev tip - rev node index size depth obshash - 6 f69452c5b1af 0 7 7 000000000000 - 3 2dc09a01254d 0 4 4 000000000000 - 6 f69452c5b1af 4 3 7 000000000000 - 3 2dc09a01254d 2 2 4 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - 5 c8d03c1b5e94 4 2 6 000000000000 - 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 3 2dc09a01254d 3 1 4 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 - 4 bebd167eb94d 4 1 5 000000000000 - 5 c8d03c1b5e94 5 1 6 000000000000 - 6 f69452c5b1af 6 1 7 000000000000 + rev node index size depth obshash + 6 f69452c5b1af 0 7 7 000000000000 + 3 2dc09a01254d 0 4 4 000000000000 + 6 f69452c5b1af 4 3 7 000000000000 + 3 2dc09a01254d 2 2 4 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + 5 c8d03c1b5e94 4 2 6 000000000000 + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 3 2dc09a01254d 3 1 4 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 + 4 bebd167eb94d 4 1 5 000000000000 + 5 c8d03c1b5e94 5 1 6 000000000000 + 6 f69452c5b1af 6 1 7 000000000000 $ hg debugstablerange --rev tip > tip.range $ diff -u 5.range tip.range --- 5.range * (glob) +++ tip.range * (glob) @@ -1,6 +1,7 @@ - rev node index size depth obshash - - 5 c8d03c1b5e94 0 6 6 000000000000 - + 6 f69452c5b1af 0 7 7 000000000000 - 3 2dc09a01254d 0 4 4 000000000000 - + 6 f69452c5b1af 4 3 7 000000000000 - 3 2dc09a01254d 2 2 4 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - 5 c8d03c1b5e94 4 2 6 000000000000 + rev node index size depth obshash + - 5 c8d03c1b5e94 0 6 6 000000000000 + + 6 f69452c5b1af 0 7 7 000000000000 + 3 2dc09a01254d 0 4 4 000000000000 + + 6 f69452c5b1af 4 3 7 000000000000 + 3 2dc09a01254d 2 2 4 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + 5 c8d03c1b5e94 4 2 6 000000000000 @@ -10,3 +11,4 @@ - 1 66f7d451a68b 1 1 2 000000000000 - 4 bebd167eb94d 4 1 5 000000000000 - 5 c8d03c1b5e94 5 1 6 000000000000 - + 6 f69452c5b1af 6 1 7 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 + 4 bebd167eb94d 4 1 5 000000000000 + 5 c8d03c1b5e94 5 1 6 000000000000 + + 6 f69452c5b1af 6 1 7 000000000000 [1] $ cd .. @@ -169,131 +169,131 @@ (left branch) $ hg debugstablerange --rev 'left~2' - rev node index size depth obshash - 1 66f7d451a68b 0 2 2 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 + rev node index size depth obshash + 1 66f7d451a68b 0 2 2 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 $ hg debugstablerange --rev 'left~2' > left-2.range $ hg debugstablerange --rev left - rev node index size depth obshash - 3 2dc09a01254d 0 4 4 000000000000 - 3 2dc09a01254d 2 2 4 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 3 2dc09a01254d 3 1 4 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 + rev node index size depth obshash + 3 2dc09a01254d 0 4 4 000000000000 + 3 2dc09a01254d 2 2 4 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 3 2dc09a01254d 3 1 4 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 $ hg debugstablerange --rev 'left' > left.range $ diff -u left-2.range left.range --- left-2.range * (glob) +++ left.range * (glob) @@ -1,4 +1,8 @@ - rev node index size depth obshash - + 3 2dc09a01254d 0 4 4 000000000000 - + 3 2dc09a01254d 2 2 4 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - + 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - + 3 2dc09a01254d 3 1 4 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 + rev node index size depth obshash + + 3 2dc09a01254d 0 4 4 000000000000 + + 3 2dc09a01254d 2 2 4 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + + 3 2dc09a01254d 3 1 4 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 [1] (right branch) $ hg debugstablerange --rev right~2 - rev node index size depth obshash - 4 e7bd5218ca15 0 2 2 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 4 e7bd5218ca15 1 1 2 000000000000 + rev node index size depth obshash + 4 e7bd5218ca15 0 2 2 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 4 e7bd5218ca15 1 1 2 000000000000 $ hg debugstablerange --rev 'right~2' > right-2.range $ hg debugstablerange --rev right - rev node index size depth obshash - 6 a2f58e9c1e56 0 4 4 000000000000 - 6 a2f58e9c1e56 2 2 4 000000000000 - 4 e7bd5218ca15 0 2 2 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 5 3a367db1fabc 2 1 3 000000000000 - 6 a2f58e9c1e56 3 1 4 000000000000 - 4 e7bd5218ca15 1 1 2 000000000000 + rev node index size depth obshash + 6 a2f58e9c1e56 0 4 4 000000000000 + 6 a2f58e9c1e56 2 2 4 000000000000 + 4 e7bd5218ca15 0 2 2 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 5 3a367db1fabc 2 1 3 000000000000 + 6 a2f58e9c1e56 3 1 4 000000000000 + 4 e7bd5218ca15 1 1 2 000000000000 $ hg debugstablerange --rev 'right' > right.range $ diff -u right-2.range right.range --- right-2.range * (glob) +++ right.range * (glob) @@ -1,4 +1,8 @@ - rev node index size depth obshash - + 6 a2f58e9c1e56 0 4 4 000000000000 - + 6 a2f58e9c1e56 2 2 4 000000000000 - 4 e7bd5218ca15 0 2 2 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - + 5 3a367db1fabc 2 1 3 000000000000 - + 6 a2f58e9c1e56 3 1 4 000000000000 - 4 e7bd5218ca15 1 1 2 000000000000 + rev node index size depth obshash + + 6 a2f58e9c1e56 0 4 4 000000000000 + + 6 a2f58e9c1e56 2 2 4 000000000000 + 4 e7bd5218ca15 0 2 2 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + + 5 3a367db1fabc 2 1 3 000000000000 + + 6 a2f58e9c1e56 3 1 4 000000000000 + 4 e7bd5218ca15 1 1 2 000000000000 [1] The merge reuse as much of the slicing created for one of the branch $ hg debugstablerange --rev merge - rev node index size depth obshash - 7 5f18015f9110 0 8 8 000000000000 - 3 2dc09a01254d 0 4 4 000000000000 - 7 5f18015f9110 4 4 8 000000000000 - 3 2dc09a01254d 2 2 4 000000000000 - 5 3a367db1fabc 1 2 3 000000000000 - 7 5f18015f9110 6 2 8 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 3 2dc09a01254d 3 1 4 000000000000 - 5 3a367db1fabc 2 1 3 000000000000 - 7 5f18015f9110 7 1 8 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 - 6 a2f58e9c1e56 3 1 4 000000000000 - 4 e7bd5218ca15 1 1 2 000000000000 + rev node index size depth obshash + 7 5f18015f9110 0 8 8 000000000000 + 3 2dc09a01254d 0 4 4 000000000000 + 7 5f18015f9110 4 4 8 000000000000 + 3 2dc09a01254d 2 2 4 000000000000 + 5 3a367db1fabc 1 2 3 000000000000 + 7 5f18015f9110 6 2 8 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 3 2dc09a01254d 3 1 4 000000000000 + 5 3a367db1fabc 2 1 3 000000000000 + 7 5f18015f9110 7 1 8 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 + 6 a2f58e9c1e56 3 1 4 000000000000 + 4 e7bd5218ca15 1 1 2 000000000000 $ hg debugstablerange --rev 'merge' > merge.range $ diff -u left.range merge.range --- left.range * (glob) +++ merge.range * (glob) @@ -1,8 +1,16 @@ - rev node index size depth obshash - + 7 5f18015f9110 0 8 8 000000000000 - 3 2dc09a01254d 0 4 4 000000000000 - + 7 5f18015f9110 4 4 8 000000000000 - 3 2dc09a01254d 2 2 4 000000000000 - + 5 3a367db1fabc 1 2 3 000000000000 - + 7 5f18015f9110 6 2 8 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 3 2dc09a01254d 3 1 4 000000000000 - + 5 3a367db1fabc 2 1 3 000000000000 - + 7 5f18015f9110 7 1 8 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 - + 6 a2f58e9c1e56 3 1 4 000000000000 - + 4 e7bd5218ca15 1 1 2 000000000000 + rev node index size depth obshash + + 7 5f18015f9110 0 8 8 000000000000 + 3 2dc09a01254d 0 4 4 000000000000 + + 7 5f18015f9110 4 4 8 000000000000 + 3 2dc09a01254d 2 2 4 000000000000 + + 5 3a367db1fabc 1 2 3 000000000000 + + 7 5f18015f9110 6 2 8 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 3 2dc09a01254d 3 1 4 000000000000 + + 5 3a367db1fabc 2 1 3 000000000000 + + 7 5f18015f9110 7 1 8 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 + + 6 a2f58e9c1e56 3 1 4 000000000000 + + 4 e7bd5218ca15 1 1 2 000000000000 [1] $ diff -u right.range merge.range --- right.range * (glob) +++ merge.range * (glob) @@ -1,8 +1,16 @@ - rev node index size depth obshash - - 6 a2f58e9c1e56 0 4 4 000000000000 - - 6 a2f58e9c1e56 2 2 4 000000000000 - - 4 e7bd5218ca15 0 2 2 000000000000 - + 7 5f18015f9110 0 8 8 000000000000 - + 3 2dc09a01254d 0 4 4 000000000000 - + 7 5f18015f9110 4 4 8 000000000000 - + 3 2dc09a01254d 2 2 4 000000000000 - + 5 3a367db1fabc 1 2 3 000000000000 - + 7 5f18015f9110 6 2 8 000000000000 - + 1 66f7d451a68b 0 2 2 000000000000 - + 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - + 3 2dc09a01254d 3 1 4 000000000000 - 5 3a367db1fabc 2 1 3 000000000000 - + 7 5f18015f9110 7 1 8 000000000000 - + 1 66f7d451a68b 1 1 2 000000000000 - 6 a2f58e9c1e56 3 1 4 000000000000 - 4 e7bd5218ca15 1 1 2 000000000000 + rev node index size depth obshash + - 6 a2f58e9c1e56 0 4 4 000000000000 + - 6 a2f58e9c1e56 2 2 4 000000000000 + - 4 e7bd5218ca15 0 2 2 000000000000 + + 7 5f18015f9110 0 8 8 000000000000 + + 3 2dc09a01254d 0 4 4 000000000000 + + 7 5f18015f9110 4 4 8 000000000000 + + 3 2dc09a01254d 2 2 4 000000000000 + + 5 3a367db1fabc 1 2 3 000000000000 + + 7 5f18015f9110 6 2 8 000000000000 + + 1 66f7d451a68b 0 2 2 000000000000 + + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + + 3 2dc09a01254d 3 1 4 000000000000 + 5 3a367db1fabc 2 1 3 000000000000 + + 7 5f18015f9110 7 1 8 000000000000 + + 1 66f7d451a68b 1 1 2 000000000000 + 6 a2f58e9c1e56 3 1 4 000000000000 + 4 e7bd5218ca15 1 1 2 000000000000 [1] $ cd .. @@ -349,84 +349,84 @@ (left branch) $ hg debugstablerange --rev 'left~2' - rev node index size depth obshash - 2 01241442b3c2 0 3 3 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 + rev node index size depth obshash + 2 01241442b3c2 0 3 3 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 $ hg debugstablerange --rev 'left~2' > left-2.range $ hg debugstablerange --rev left - rev node index size depth obshash - 4 bebd167eb94d 0 5 5 000000000000 - 3 2dc09a01254d 0 4 4 000000000000 - 3 2dc09a01254d 2 2 4 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 3 2dc09a01254d 3 1 4 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 - 4 bebd167eb94d 4 1 5 000000000000 + rev node index size depth obshash + 4 bebd167eb94d 0 5 5 000000000000 + 3 2dc09a01254d 0 4 4 000000000000 + 3 2dc09a01254d 2 2 4 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 3 2dc09a01254d 3 1 4 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 + 4 bebd167eb94d 4 1 5 000000000000 $ hg debugstablerange --rev 'left' > left.range $ diff -u left-2.range left.range --- left-2.range * (glob) +++ left.range * (glob) @@ -1,6 +1,10 @@ - rev node index size depth obshash - - 2 01241442b3c2 0 3 3 000000000000 - + 4 bebd167eb94d 0 5 5 000000000000 - + 3 2dc09a01254d 0 4 4 000000000000 - + 3 2dc09a01254d 2 2 4 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - + 3 2dc09a01254d 3 1 4 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 - + 4 bebd167eb94d 4 1 5 000000000000 + rev node index size depth obshash + - 2 01241442b3c2 0 3 3 000000000000 + + 4 bebd167eb94d 0 5 5 000000000000 + + 3 2dc09a01254d 0 4 4 000000000000 + + 3 2dc09a01254d 2 2 4 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + + 3 2dc09a01254d 3 1 4 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 + + 4 bebd167eb94d 4 1 5 000000000000 [1] (right branch) $ hg debugstablerange --rev right~2 - rev node index size depth obshash - 7 42b07e8da27d 0 4 4 000000000000 - 7 42b07e8da27d 2 2 4 000000000000 - 5 de561312eff4 0 2 2 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 7 42b07e8da27d 3 1 4 000000000000 - 6 b9bc20507e0b 2 1 3 000000000000 - 5 de561312eff4 1 1 2 000000000000 + rev node index size depth obshash + 7 42b07e8da27d 0 4 4 000000000000 + 7 42b07e8da27d 2 2 4 000000000000 + 5 de561312eff4 0 2 2 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 7 42b07e8da27d 3 1 4 000000000000 + 6 b9bc20507e0b 2 1 3 000000000000 + 5 de561312eff4 1 1 2 000000000000 $ hg debugstablerange --rev 'right~2' > right-2.range $ hg debugstablerange --rev right - rev node index size depth obshash - 9 f4b7da68b467 0 6 6 000000000000 - 7 42b07e8da27d 0 4 4 000000000000 - 7 42b07e8da27d 2 2 4 000000000000 - 5 de561312eff4 0 2 2 000000000000 - 9 f4b7da68b467 4 2 6 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 7 42b07e8da27d 3 1 4 000000000000 - 8 857477a9aebb 4 1 5 000000000000 - 6 b9bc20507e0b 2 1 3 000000000000 - 5 de561312eff4 1 1 2 000000000000 - 9 f4b7da68b467 5 1 6 000000000000 + rev node index size depth obshash + 9 f4b7da68b467 0 6 6 000000000000 + 7 42b07e8da27d 0 4 4 000000000000 + 7 42b07e8da27d 2 2 4 000000000000 + 5 de561312eff4 0 2 2 000000000000 + 9 f4b7da68b467 4 2 6 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 7 42b07e8da27d 3 1 4 000000000000 + 8 857477a9aebb 4 1 5 000000000000 + 6 b9bc20507e0b 2 1 3 000000000000 + 5 de561312eff4 1 1 2 000000000000 + 9 f4b7da68b467 5 1 6 000000000000 $ hg debugstablerange --rev 'right' > right.range $ diff -u right-2.range right.range --- right-2.range * (glob) +++ right.range * (glob) @@ -1,8 +1,12 @@ - rev node index size depth obshash - + 9 f4b7da68b467 0 6 6 000000000000 - 7 42b07e8da27d 0 4 4 000000000000 - 7 42b07e8da27d 2 2 4 000000000000 - 5 de561312eff4 0 2 2 000000000000 - + 9 f4b7da68b467 4 2 6 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 7 42b07e8da27d 3 1 4 000000000000 - + 8 857477a9aebb 4 1 5 000000000000 - 6 b9bc20507e0b 2 1 3 000000000000 - 5 de561312eff4 1 1 2 000000000000 - + 9 f4b7da68b467 5 1 6 000000000000 + rev node index size depth obshash + + 9 f4b7da68b467 0 6 6 000000000000 + 7 42b07e8da27d 0 4 4 000000000000 + 7 42b07e8da27d 2 2 4 000000000000 + 5 de561312eff4 0 2 2 000000000000 + + 9 f4b7da68b467 4 2 6 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 7 42b07e8da27d 3 1 4 000000000000 + + 8 857477a9aebb 4 1 5 000000000000 + 6 b9bc20507e0b 2 1 3 000000000000 + 5 de561312eff4 1 1 2 000000000000 + + 9 f4b7da68b467 5 1 6 000000000000 [1] In this case, the bottom of the split will have multiple heads, @@ -436,147 +436,147 @@ We are still able to reuse one of the branch however $ hg debugstablerange --rev merge - rev node index size depth obshash - 10 8aca7f8c9bd2 0 11 11 000000000000 - 4 bebd167eb94d 0 5 5 000000000000 - 3 2dc09a01254d 0 4 4 000000000000 - 7 42b07e8da27d 0 4 4 000000000000 - 10 8aca7f8c9bd2 8 3 11 000000000000 - 3 2dc09a01254d 2 2 4 000000000000 - 7 42b07e8da27d 2 2 4 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - 5 de561312eff4 0 2 2 000000000000 - 9 f4b7da68b467 4 2 6 000000000000 - 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 3 2dc09a01254d 3 1 4 000000000000 - 7 42b07e8da27d 3 1 4 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 - 8 857477a9aebb 4 1 5 000000000000 - 10 8aca7f8c9bd2 10 1 11 000000000000 - 6 b9bc20507e0b 2 1 3 000000000000 - 4 bebd167eb94d 4 1 5 000000000000 - 5 de561312eff4 1 1 2 000000000000 - 9 f4b7da68b467 5 1 6 000000000000 + rev node index size depth obshash + 10 8aca7f8c9bd2 0 11 11 000000000000 + 4 bebd167eb94d 0 5 5 000000000000 + 3 2dc09a01254d 0 4 4 000000000000 + 7 42b07e8da27d 0 4 4 000000000000 + 10 8aca7f8c9bd2 8 3 11 000000000000 + 3 2dc09a01254d 2 2 4 000000000000 + 7 42b07e8da27d 2 2 4 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + 5 de561312eff4 0 2 2 000000000000 + 9 f4b7da68b467 4 2 6 000000000000 + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 3 2dc09a01254d 3 1 4 000000000000 + 7 42b07e8da27d 3 1 4 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 + 8 857477a9aebb 4 1 5 000000000000 + 10 8aca7f8c9bd2 10 1 11 000000000000 + 6 b9bc20507e0b 2 1 3 000000000000 + 4 bebd167eb94d 4 1 5 000000000000 + 5 de561312eff4 1 1 2 000000000000 + 9 f4b7da68b467 5 1 6 000000000000 $ hg debugstablerange --rev 'merge' > merge.range $ diff -u left.range merge.range --- left.range * (glob) +++ merge.range * (glob) @@ -1,10 +1,22 @@ - rev node index size depth obshash - + 10 8aca7f8c9bd2 0 11 11 000000000000 - 4 bebd167eb94d 0 5 5 000000000000 - 3 2dc09a01254d 0 4 4 000000000000 - + 7 42b07e8da27d 0 4 4 000000000000 - + 10 8aca7f8c9bd2 8 3 11 000000000000 - 3 2dc09a01254d 2 2 4 000000000000 - + 7 42b07e8da27d 2 2 4 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - + 5 de561312eff4 0 2 2 000000000000 - + 9 f4b7da68b467 4 2 6 000000000000 - 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 3 2dc09a01254d 3 1 4 000000000000 - + 7 42b07e8da27d 3 1 4 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 - + 8 857477a9aebb 4 1 5 000000000000 - + 10 8aca7f8c9bd2 10 1 11 000000000000 - + 6 b9bc20507e0b 2 1 3 000000000000 - 4 bebd167eb94d 4 1 5 000000000000 - + 5 de561312eff4 1 1 2 000000000000 - + 9 f4b7da68b467 5 1 6 000000000000 + rev node index size depth obshash + + 10 8aca7f8c9bd2 0 11 11 000000000000 + 4 bebd167eb94d 0 5 5 000000000000 + 3 2dc09a01254d 0 4 4 000000000000 + + 7 42b07e8da27d 0 4 4 000000000000 + + 10 8aca7f8c9bd2 8 3 11 000000000000 + 3 2dc09a01254d 2 2 4 000000000000 + + 7 42b07e8da27d 2 2 4 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + + 5 de561312eff4 0 2 2 000000000000 + + 9 f4b7da68b467 4 2 6 000000000000 + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 3 2dc09a01254d 3 1 4 000000000000 + + 7 42b07e8da27d 3 1 4 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 + + 8 857477a9aebb 4 1 5 000000000000 + + 10 8aca7f8c9bd2 10 1 11 000000000000 + + 6 b9bc20507e0b 2 1 3 000000000000 + 4 bebd167eb94d 4 1 5 000000000000 + + 5 de561312eff4 1 1 2 000000000000 + + 9 f4b7da68b467 5 1 6 000000000000 [1] $ diff -u right.range merge.range --- right.range * (glob) +++ merge.range * (glob) @@ -1,12 +1,22 @@ - rev node index size depth obshash - - 9 f4b7da68b467 0 6 6 000000000000 - + 10 8aca7f8c9bd2 0 11 11 000000000000 - + 4 bebd167eb94d 0 5 5 000000000000 - + 3 2dc09a01254d 0 4 4 000000000000 - 7 42b07e8da27d 0 4 4 000000000000 - + 10 8aca7f8c9bd2 8 3 11 000000000000 - + 3 2dc09a01254d 2 2 4 000000000000 - 7 42b07e8da27d 2 2 4 000000000000 - + 1 66f7d451a68b 0 2 2 000000000000 - 5 de561312eff4 0 2 2 000000000000 - 9 f4b7da68b467 4 2 6 000000000000 - + 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - + 3 2dc09a01254d 3 1 4 000000000000 - 7 42b07e8da27d 3 1 4 000000000000 - + 1 66f7d451a68b 1 1 2 000000000000 - 8 857477a9aebb 4 1 5 000000000000 - + 10 8aca7f8c9bd2 10 1 11 000000000000 - 6 b9bc20507e0b 2 1 3 000000000000 - + 4 bebd167eb94d 4 1 5 000000000000 - 5 de561312eff4 1 1 2 000000000000 - 9 f4b7da68b467 5 1 6 000000000000 + rev node index size depth obshash + - 9 f4b7da68b467 0 6 6 000000000000 + + 10 8aca7f8c9bd2 0 11 11 000000000000 + + 4 bebd167eb94d 0 5 5 000000000000 + + 3 2dc09a01254d 0 4 4 000000000000 + 7 42b07e8da27d 0 4 4 000000000000 + + 10 8aca7f8c9bd2 8 3 11 000000000000 + + 3 2dc09a01254d 2 2 4 000000000000 + 7 42b07e8da27d 2 2 4 000000000000 + + 1 66f7d451a68b 0 2 2 000000000000 + 5 de561312eff4 0 2 2 000000000000 + 9 f4b7da68b467 4 2 6 000000000000 + + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + + 3 2dc09a01254d 3 1 4 000000000000 + 7 42b07e8da27d 3 1 4 000000000000 + + 1 66f7d451a68b 1 1 2 000000000000 + 8 857477a9aebb 4 1 5 000000000000 + + 10 8aca7f8c9bd2 10 1 11 000000000000 + 6 b9bc20507e0b 2 1 3 000000000000 + + 4 bebd167eb94d 4 1 5 000000000000 + 5 de561312eff4 1 1 2 000000000000 + 9 f4b7da68b467 5 1 6 000000000000 [1] Range above the merge, reuse subrange from the merge $ hg debugstablerange --rev tip - rev node index size depth obshash - 12 e6b8d5b46647 0 13 13 000000000000 - 4 bebd167eb94d 0 5 5 000000000000 - 12 e6b8d5b46647 8 5 13 000000000000 - 3 2dc09a01254d 0 4 4 000000000000 - 7 42b07e8da27d 0 4 4 000000000000 - 11 485383494a89 8 4 12 000000000000 - 3 2dc09a01254d 2 2 4 000000000000 - 7 42b07e8da27d 2 2 4 000000000000 - 11 485383494a89 10 2 12 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - 5 de561312eff4 0 2 2 000000000000 - 9 f4b7da68b467 4 2 6 000000000000 - 2 01241442b3c2 2 1 3 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 3 2dc09a01254d 3 1 4 000000000000 - 7 42b07e8da27d 3 1 4 000000000000 - 11 485383494a89 11 1 12 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 - 8 857477a9aebb 4 1 5 000000000000 - 10 8aca7f8c9bd2 10 1 11 000000000000 - 6 b9bc20507e0b 2 1 3 000000000000 - 4 bebd167eb94d 4 1 5 000000000000 - 5 de561312eff4 1 1 2 000000000000 - 12 e6b8d5b46647 12 1 13 000000000000 - 9 f4b7da68b467 5 1 6 000000000000 + rev node index size depth obshash + 12 e6b8d5b46647 0 13 13 000000000000 + 4 bebd167eb94d 0 5 5 000000000000 + 12 e6b8d5b46647 8 5 13 000000000000 + 3 2dc09a01254d 0 4 4 000000000000 + 7 42b07e8da27d 0 4 4 000000000000 + 11 485383494a89 8 4 12 000000000000 + 3 2dc09a01254d 2 2 4 000000000000 + 7 42b07e8da27d 2 2 4 000000000000 + 11 485383494a89 10 2 12 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + 5 de561312eff4 0 2 2 000000000000 + 9 f4b7da68b467 4 2 6 000000000000 + 2 01241442b3c2 2 1 3 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 3 2dc09a01254d 3 1 4 000000000000 + 7 42b07e8da27d 3 1 4 000000000000 + 11 485383494a89 11 1 12 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 + 8 857477a9aebb 4 1 5 000000000000 + 10 8aca7f8c9bd2 10 1 11 000000000000 + 6 b9bc20507e0b 2 1 3 000000000000 + 4 bebd167eb94d 4 1 5 000000000000 + 5 de561312eff4 1 1 2 000000000000 + 12 e6b8d5b46647 12 1 13 000000000000 + 9 f4b7da68b467 5 1 6 000000000000 $ hg debugstablerange --rev 'tip' > tip.range $ diff -u merge.range tip.range --- merge.range * (glob) +++ tip.range * (glob) @@ -1,11 +1,13 @@ - rev node index size depth obshash - - 10 8aca7f8c9bd2 0 11 11 000000000000 - + 12 e6b8d5b46647 0 13 13 000000000000 - 4 bebd167eb94d 0 5 5 000000000000 - + 12 e6b8d5b46647 8 5 13 000000000000 - 3 2dc09a01254d 0 4 4 000000000000 - 7 42b07e8da27d 0 4 4 000000000000 - - 10 8aca7f8c9bd2 8 3 11 000000000000 - + 11 485383494a89 8 4 12 000000000000 - 3 2dc09a01254d 2 2 4 000000000000 - 7 42b07e8da27d 2 2 4 000000000000 - + 11 485383494a89 10 2 12 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - 5 de561312eff4 0 2 2 000000000000 - 9 f4b7da68b467 4 2 6 000000000000 + rev node index size depth obshash + - 10 8aca7f8c9bd2 0 11 11 000000000000 + + 12 e6b8d5b46647 0 13 13 000000000000 + 4 bebd167eb94d 0 5 5 000000000000 + + 12 e6b8d5b46647 8 5 13 000000000000 + 3 2dc09a01254d 0 4 4 000000000000 + 7 42b07e8da27d 0 4 4 000000000000 + - 10 8aca7f8c9bd2 8 3 11 000000000000 + + 11 485383494a89 8 4 12 000000000000 + 3 2dc09a01254d 2 2 4 000000000000 + 7 42b07e8da27d 2 2 4 000000000000 + + 11 485383494a89 10 2 12 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + 5 de561312eff4 0 2 2 000000000000 + 9 f4b7da68b467 4 2 6 000000000000 @@ -13,10 +15,12 @@ - 0 1ea73414a91b 0 1 1 000000000000 - 3 2dc09a01254d 3 1 4 000000000000 - 7 42b07e8da27d 3 1 4 000000000000 - + 11 485383494a89 11 1 12 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 - 8 857477a9aebb 4 1 5 000000000000 - 10 8aca7f8c9bd2 10 1 11 000000000000 - 6 b9bc20507e0b 2 1 3 000000000000 - 4 bebd167eb94d 4 1 5 000000000000 - 5 de561312eff4 1 1 2 000000000000 - + 12 e6b8d5b46647 12 1 13 000000000000 - 9 f4b7da68b467 5 1 6 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 3 2dc09a01254d 3 1 4 000000000000 + 7 42b07e8da27d 3 1 4 000000000000 + + 11 485383494a89 11 1 12 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 + 8 857477a9aebb 4 1 5 000000000000 + 10 8aca7f8c9bd2 10 1 11 000000000000 + 6 b9bc20507e0b 2 1 3 000000000000 + 4 bebd167eb94d 4 1 5 000000000000 + 5 de561312eff4 1 1 2 000000000000 + + 12 e6b8d5b46647 12 1 13 000000000000 + 9 f4b7da68b467 5 1 6 000000000000 [1] $ cd .. @@ -633,42 +633,42 @@ o 0 1ea73414a91b r0 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 15 1d8d22637c2d 0 8 8 000000000000 - 9 dcbb326fdec2 0 7 7 000000000000 - 10 ff43616e5d0f 0 7 7 000000000000 - 13 b4594d867745 0 6 6 000000000000 - 12 e46a4836065c 0 6 6 000000000000 - 6 2702dd0c91e7 0 5 5 000000000000 - 15 1d8d22637c2d 4 4 8 000000000000 - 3 2b6d669947cd 0 4 4 000000000000 - 5 f0f3ef9a6cd5 0 4 4 000000000000 - 9 dcbb326fdec2 4 3 7 000000000000 - 10 ff43616e5d0f 4 3 7 000000000000 - 15 1d8d22637c2d 6 2 8 000000000000 - 3 2b6d669947cd 2 2 4 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - 13 b4594d867745 4 2 6 000000000000 - 8 d62d843c9a01 4 2 6 000000000000 - 12 e46a4836065c 4 2 6 000000000000 - 5 f0f3ef9a6cd5 2 2 4 000000000000 - 2 fa942426a6fd 0 2 2 000000000000 - 15 1d8d22637c2d 7 1 8 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 6 2702dd0c91e7 4 1 5 000000000000 - 3 2b6d669947cd 3 1 4 000000000000 - 14 43227190fef8 4 1 5 000000000000 - 4 4c748ffd1a46 2 1 3 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 - 13 b4594d867745 5 1 6 000000000000 - 11 bab5d5bf48bd 4 1 5 000000000000 - 8 d62d843c9a01 5 1 6 000000000000 - 9 dcbb326fdec2 6 1 7 000000000000 - 12 e46a4836065c 5 1 6 000000000000 - 7 e7d9710d9fc6 4 1 5 000000000000 - 5 f0f3ef9a6cd5 3 1 4 000000000000 - 2 fa942426a6fd 1 1 2 000000000000 - 10 ff43616e5d0f 6 1 7 000000000000 + rev node index size depth obshash + 15 1d8d22637c2d 0 8 8 000000000000 + 9 dcbb326fdec2 0 7 7 000000000000 + 10 ff43616e5d0f 0 7 7 000000000000 + 13 b4594d867745 0 6 6 000000000000 + 12 e46a4836065c 0 6 6 000000000000 + 6 2702dd0c91e7 0 5 5 000000000000 + 15 1d8d22637c2d 4 4 8 000000000000 + 3 2b6d669947cd 0 4 4 000000000000 + 5 f0f3ef9a6cd5 0 4 4 000000000000 + 9 dcbb326fdec2 4 3 7 000000000000 + 10 ff43616e5d0f 4 3 7 000000000000 + 15 1d8d22637c2d 6 2 8 000000000000 + 3 2b6d669947cd 2 2 4 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + 13 b4594d867745 4 2 6 000000000000 + 8 d62d843c9a01 4 2 6 000000000000 + 12 e46a4836065c 4 2 6 000000000000 + 5 f0f3ef9a6cd5 2 2 4 000000000000 + 2 fa942426a6fd 0 2 2 000000000000 + 15 1d8d22637c2d 7 1 8 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 6 2702dd0c91e7 4 1 5 000000000000 + 3 2b6d669947cd 3 1 4 000000000000 + 14 43227190fef8 4 1 5 000000000000 + 4 4c748ffd1a46 2 1 3 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 + 13 b4594d867745 5 1 6 000000000000 + 11 bab5d5bf48bd 4 1 5 000000000000 + 8 d62d843c9a01 5 1 6 000000000000 + 9 dcbb326fdec2 6 1 7 000000000000 + 12 e46a4836065c 5 1 6 000000000000 + 7 e7d9710d9fc6 4 1 5 000000000000 + 5 f0f3ef9a6cd5 3 1 4 000000000000 + 2 fa942426a6fd 1 1 2 000000000000 + 10 ff43616e5d0f 6 1 7 000000000000 $ cd .. Tests range where a toprange is rooted on a merge @@ -693,14 +693,14 @@ o 0 1ea73414a91b r0 $ hg debugstablerange --rev 'head()' - rev node index size depth obshash - 4 f37e476fba9a 0 5 5 000000000000 - 3 36315563e2fa 0 3 3 000000000000 - 1 66f7d451a68b 0 2 2 000000000000 - 2 fa942426a6fd 0 2 2 000000000000 - 0 1ea73414a91b 0 1 1 000000000000 - 3 36315563e2fa 2 1 3 000000000000 - 1 66f7d451a68b 1 1 2 000000000000 - 4 f37e476fba9a 4 1 5 000000000000 - 2 fa942426a6fd 1 1 2 000000000000 + rev node index size depth obshash + 4 f37e476fba9a 0 5 5 000000000000 + 3 36315563e2fa 0 3 3 000000000000 + 1 66f7d451a68b 0 2 2 000000000000 + 2 fa942426a6fd 0 2 2 000000000000 + 0 1ea73414a91b 0 1 1 000000000000 + 3 36315563e2fa 2 1 3 000000000000 + 1 66f7d451a68b 1 1 2 000000000000 + 4 f37e476fba9a 4 1 5 000000000000 + 2 fa942426a6fd 1 1 2 000000000000