# HG changeset patch # User Boris Feld # Date 1527003656 -7200 # Node ID 8ed81c330e8284b856e303332ef9a71a1ddbd59a # Parent 4e434eb1a50669ee5343c1277b012e3ee9fcd790 tests: extract the obshistory lots of split test case into a separate file diff -r 4e434eb1a506 -r 8ed81c330e82 tests/test-evolve-obshistory-lots-of-splits.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-evolve-obshistory-lots-of-splits.t Tue May 22 17:40:56 2018 +0200 @@ -0,0 +1,288 @@ +This test file test the various messages when accessing obsolete +revisions. + +Global setup +============ + + $ . $TESTDIR/testlib/obshistory_setup.sh + +Test output with lots of splitted commit +======================================== + +Test setup +---------- + + $ hg init $TESTTMP/local-lots-split + $ cd $TESTTMP/local-lots-split + $ mkcommit ROOT + $ echo 42 >> a + $ echo 43 >> b + $ echo 44 >> c + $ echo 45 >> d + $ hg commit -A -m "A0" + adding a + adding b + adding c + adding d + $ hg log --hidden -G + @ changeset: 1:de7290d8b885 + | tag: tip + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A0 + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + + + $ hg split -r 'desc(A0)' -d "0 0" << EOF + > y + > y + > n + > n + > n + > n + > y + > y + > n + > n + > n + > y + > y + > n + > n + > y + > y + > EOF + 0 files updated, 0 files merged, 4 files removed, 0 files unresolved + adding a + adding b + adding c + adding d + diff --git a/a b/a + new file mode 100644 + examine changes to 'a'? [Ynesfdaq?] y + + @@ -0,0 +1,1 @@ + +42 + record change 1/4 to 'a'? [Ynesfdaq?] y + + diff --git a/b b/b + new file mode 100644 + examine changes to 'b'? [Ynesfdaq?] n + + diff --git a/c b/c + new file mode 100644 + examine changes to 'c'? [Ynesfdaq?] n + + diff --git a/d b/d + new file mode 100644 + examine changes to 'd'? [Ynesfdaq?] n + + created new head + Done splitting? [yN] n + diff --git a/b b/b + new file mode 100644 + examine changes to 'b'? [Ynesfdaq?] y + + @@ -0,0 +1,1 @@ + +43 + record change 1/3 to 'b'? [Ynesfdaq?] y + + diff --git a/c b/c + new file mode 100644 + examine changes to 'c'? [Ynesfdaq?] n + + diff --git a/d b/d + new file mode 100644 + examine changes to 'd'? [Ynesfdaq?] n + + Done splitting? [yN] n + diff --git a/c b/c + new file mode 100644 + examine changes to 'c'? [Ynesfdaq?] y + + @@ -0,0 +1,1 @@ + +44 + record change 1/2 to 'c'? [Ynesfdaq?] y + + diff --git a/d b/d + new file mode 100644 + examine changes to 'd'? [Ynesfdaq?] n + + Done splitting? [yN] n + diff --git a/d b/d + new file mode 100644 + examine changes to 'd'? [Ynesfdaq?] y + + @@ -0,0 +1,1 @@ + +45 + record this change to 'd'? [Ynesfdaq?] y + + no more change to split + + $ hg log --hidden -G + @ changeset: 5:c7f044602e9b + | tag: tip + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A0 + | + o changeset: 4:1ae8bc733a14 + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A0 + | + o changeset: 3:f257fde29c7a + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A0 + | + o changeset: 2:337fec4d2edc + | parent: 0:ea207398892e + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A0 + | + | x changeset: 1:de7290d8b885 + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsolete: split using split as 2:337fec4d2edc, 3:f257fde29c7a, 4:1ae8bc733a14, 5:c7f044602e9b + | summary: A0 + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + +Actual test +----------- + + $ hg obslog de7290d8b885 --hidden --patch + x de7290d8b885 (1) A0 + rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000) + (No patch available, too many successors (4)) + + $ hg obslog de7290d8b885 --hidden --all --patch + o 1ae8bc733a14 (4) A0 + | + | o 337fec4d2edc (2) A0 + |/ + | @ c7f044602e9b (5) A0 + |/ + | o f257fde29c7a (3) A0 + |/ + x de7290d8b885 (1) A0 + rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000) + (No patch available, too many successors (4)) + + $ hg obslog de7290d8b885 --hidden --no-graph -Tjson | python -m json.tool + [ + { + "markers": [ + { + "date": [ + *, (glob) + 0 (glob) + ], + "effect": [ + "parent", + "content" + ], + "operation": "split", + "succnodes": [ + "1ae8bc733a14", + "337fec4d2edc", + "c7f044602e9b", + "f257fde29c7a" + ], + "user": "test", + "verb": "rewritten" + } + ], + "node": "de7290d8b885", + "rev": 1, + "shortdescription": "A0" + } + ] + $ hg obslog c7f044602e9b --patch + @ c7f044602e9b (5) A0 + | + x de7290d8b885 (1) A0 + rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000) + (No patch available, too many successors (4)) + + $ hg obslog c7f044602e9b --no-graph -Tjson | python -m json.tool + [ + { + "markers": [], + "node": "c7f044602e9b", + "rev": 5, + "shortdescription": "A0" + }, + { + "markers": [ + { + "date": [ + *, (glob) + 0 (glob) + ], + "effect": [ + "parent", + "content" + ], + "operation": "split", + "succnodes": [ + "1ae8bc733a14", + "337fec4d2edc", + "c7f044602e9b", + "f257fde29c7a" + ], + "user": "test", + "verb": "rewritten" + } + ], + "node": "de7290d8b885", + "rev": 1, + "shortdescription": "A0" + } + ] +Check that debugobshistory on all heads show a coherent graph + $ hg obslog 2::5 --patch + o 1ae8bc733a14 (4) A0 + | + | o 337fec4d2edc (2) A0 + |/ + | @ c7f044602e9b (5) A0 + |/ + | o f257fde29c7a (3) A0 + |/ + x de7290d8b885 (1) A0 + rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000) + (No patch available, too many successors (4)) + + $ hg obslog 5 --all --patch + o 1ae8bc733a14 (4) A0 + | + | o 337fec4d2edc (2) A0 + |/ + | @ c7f044602e9b (5) A0 + |/ + | o f257fde29c7a (3) A0 + |/ + x de7290d8b885 (1) A0 + rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000) + (No patch available, too many successors (4)) + + $ hg update de7290d8b885 + abort: hidden revision 'de7290d8b885' was split as: 337fec4d2edc, f257fde29c7a and 2 more! + (use --hidden to access hidden revisions) + [255] + $ hg update --hidden 'min(desc(A0))' + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + updated to hidden changeset de7290d8b885 + (hidden revision 'de7290d8b885' was split as: 337fec4d2edc, f257fde29c7a and 2 more) + working directory parent is obsolete! (de7290d8b885) + (use 'hg evolve' to update to its tipmost successor: 337fec4d2edc, f257fde29c7a and 2 more) diff -r 4e434eb1a506 -r 8ed81c330e82 tests/test-evolve-obshistory.t --- a/tests/test-evolve-obshistory.t Tue May 22 17:37:51 2018 +0200 +++ b/tests/test-evolve-obshistory.t Tue May 22 17:40:56 2018 +0200 @@ -23,287 +23,6 @@ abort: working directory revision cannot be specified [255] -Test output with lots of splitted commit -======================================== - -Test setup ----------- - - $ hg init $TESTTMP/local-lots-split - $ cd $TESTTMP/local-lots-split - $ mkcommit ROOT - $ echo 42 >> a - $ echo 43 >> b - $ echo 44 >> c - $ echo 45 >> d - $ hg commit -A -m "A0" - adding a - adding b - adding c - adding d - $ hg log --hidden -G - @ changeset: 1:de7290d8b885 - | tag: tip - | user: test - | date: Thu Jan 01 00:00:00 1970 +0000 - | summary: A0 - | - o changeset: 0:ea207398892e - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: ROOT - - - $ hg split -r 'desc(A0)' -d "0 0" << EOF - > y - > y - > n - > n - > n - > n - > y - > y - > n - > n - > n - > y - > y - > n - > n - > y - > y - > EOF - 0 files updated, 0 files merged, 4 files removed, 0 files unresolved - adding a - adding b - adding c - adding d - diff --git a/a b/a - new file mode 100644 - examine changes to 'a'? [Ynesfdaq?] y - - @@ -0,0 +1,1 @@ - +42 - record change 1/4 to 'a'? [Ynesfdaq?] y - - diff --git a/b b/b - new file mode 100644 - examine changes to 'b'? [Ynesfdaq?] n - - diff --git a/c b/c - new file mode 100644 - examine changes to 'c'? [Ynesfdaq?] n - - diff --git a/d b/d - new file mode 100644 - examine changes to 'd'? [Ynesfdaq?] n - - created new head - Done splitting? [yN] n - diff --git a/b b/b - new file mode 100644 - examine changes to 'b'? [Ynesfdaq?] y - - @@ -0,0 +1,1 @@ - +43 - record change 1/3 to 'b'? [Ynesfdaq?] y - - diff --git a/c b/c - new file mode 100644 - examine changes to 'c'? [Ynesfdaq?] n - - diff --git a/d b/d - new file mode 100644 - examine changes to 'd'? [Ynesfdaq?] n - - Done splitting? [yN] n - diff --git a/c b/c - new file mode 100644 - examine changes to 'c'? [Ynesfdaq?] y - - @@ -0,0 +1,1 @@ - +44 - record change 1/2 to 'c'? [Ynesfdaq?] y - - diff --git a/d b/d - new file mode 100644 - examine changes to 'd'? [Ynesfdaq?] n - - Done splitting? [yN] n - diff --git a/d b/d - new file mode 100644 - examine changes to 'd'? [Ynesfdaq?] y - - @@ -0,0 +1,1 @@ - +45 - record this change to 'd'? [Ynesfdaq?] y - - no more change to split - - $ hg log --hidden -G - @ changeset: 5:c7f044602e9b - | tag: tip - | user: test - | date: Thu Jan 01 00:00:00 1970 +0000 - | summary: A0 - | - o changeset: 4:1ae8bc733a14 - | user: test - | date: Thu Jan 01 00:00:00 1970 +0000 - | summary: A0 - | - o changeset: 3:f257fde29c7a - | user: test - | date: Thu Jan 01 00:00:00 1970 +0000 - | summary: A0 - | - o changeset: 2:337fec4d2edc - | parent: 0:ea207398892e - | user: test - | date: Thu Jan 01 00:00:00 1970 +0000 - | summary: A0 - | - | x changeset: 1:de7290d8b885 - |/ user: test - | date: Thu Jan 01 00:00:00 1970 +0000 - | obsolete: split using split as 2:337fec4d2edc, 3:f257fde29c7a, 4:1ae8bc733a14, 5:c7f044602e9b - | summary: A0 - | - o changeset: 0:ea207398892e - user: test - date: Thu Jan 01 00:00:00 1970 +0000 - summary: ROOT - -Actual test ------------ - - $ hg obslog de7290d8b885 --hidden --patch - x de7290d8b885 (1) A0 - rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000) - (No patch available, too many successors (4)) - - $ hg obslog de7290d8b885 --hidden --all --patch - o 1ae8bc733a14 (4) A0 - | - | o 337fec4d2edc (2) A0 - |/ - | @ c7f044602e9b (5) A0 - |/ - | o f257fde29c7a (3) A0 - |/ - x de7290d8b885 (1) A0 - rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000) - (No patch available, too many successors (4)) - - $ hg obslog de7290d8b885 --hidden --no-graph -Tjson | python -m json.tool - [ - { - "markers": [ - { - "date": [ - *, (glob) - 0 (glob) - ], - "effect": [ - "parent", - "content" - ], - "operation": "split", - "succnodes": [ - "1ae8bc733a14", - "337fec4d2edc", - "c7f044602e9b", - "f257fde29c7a" - ], - "user": "test", - "verb": "rewritten" - } - ], - "node": "de7290d8b885", - "rev": 1, - "shortdescription": "A0" - } - ] - $ hg obslog c7f044602e9b --patch - @ c7f044602e9b (5) A0 - | - x de7290d8b885 (1) A0 - rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000) - (No patch available, too many successors (4)) - - $ hg obslog c7f044602e9b --no-graph -Tjson | python -m json.tool - [ - { - "markers": [], - "node": "c7f044602e9b", - "rev": 5, - "shortdescription": "A0" - }, - { - "markers": [ - { - "date": [ - *, (glob) - 0 (glob) - ], - "effect": [ - "parent", - "content" - ], - "operation": "split", - "succnodes": [ - "1ae8bc733a14", - "337fec4d2edc", - "c7f044602e9b", - "f257fde29c7a" - ], - "user": "test", - "verb": "rewritten" - } - ], - "node": "de7290d8b885", - "rev": 1, - "shortdescription": "A0" - } - ] -Check that debugobshistory on all heads show a coherent graph - $ hg obslog 2::5 --patch - o 1ae8bc733a14 (4) A0 - | - | o 337fec4d2edc (2) A0 - |/ - | @ c7f044602e9b (5) A0 - |/ - | o f257fde29c7a (3) A0 - |/ - x de7290d8b885 (1) A0 - rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000) - (No patch available, too many successors (4)) - - $ hg obslog 5 --all --patch - o 1ae8bc733a14 (4) A0 - | - | o 337fec4d2edc (2) A0 - |/ - | @ c7f044602e9b (5) A0 - |/ - | o f257fde29c7a (3) A0 - |/ - x de7290d8b885 (1) A0 - rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000) - (No patch available, too many successors (4)) - - $ hg update de7290d8b885 - abort: hidden revision 'de7290d8b885' was split as: 337fec4d2edc, f257fde29c7a and 2 more! - (use --hidden to access hidden revisions) - [255] - $ hg update --hidden 'min(desc(A0))' - 0 files updated, 0 files merged, 0 files removed, 0 files unresolved - updated to hidden changeset de7290d8b885 - (hidden revision 'de7290d8b885' was split as: 337fec4d2edc, f257fde29c7a and 2 more) - working directory parent is obsolete! (de7290d8b885) - (use 'hg evolve' to update to its tipmost successor: 337fec4d2edc, f257fde29c7a and 2 more) - Test output with folded commit ==============================