# HG changeset patch # User Boris Feld # Date 1527241699 -7200 # Node ID aab2afc2bd822bf2532c83d4cab32e0534013366 # Parent 106c871dfebcefd6a417eedfd8d0f31b3150ce5b tests: add a content-divergent obshistory test diff -r 106c871dfebc -r aab2afc2bd82 tests/test-evolve-obshistory-phase-divergent.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-evolve-obshistory-phase-divergent.t Fri May 25 11:48:19 2018 +0200 @@ -0,0 +1,229 @@ +This test file test the various messages when accessing obsolete +revisions. + +Global setup +============ + + $ . $TESTDIR/testlib/obshistory_setup.sh + +Test output with phase-divergence +=================================== + +Test setup +---------- + + $ hg init $TESTTMP/phase-divergence + $ cd $TESTTMP/phase-divergence + $ mkcommit ROOT + $ mkcommit A0 + $ hg amend -m "A1" + $ hg log --hidden -G + @ changeset: 2:fdf9bde5129a + | tag: tip + | parent: 0:ea207398892e + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A1 + | + | x changeset: 1:471f378eab4c + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsolete: reworded using amend as 2:fdf9bde5129a + | summary: A0 + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + + $ hg update --hidden 'desc(A0)' + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + updated to hidden changeset 471f378eab4c + (hidden revision '471f378eab4c' was rewritten as: fdf9bde5129a) + working directory parent is obsolete! (471f378eab4c) + (use 'hg evolve' to update to its successor: fdf9bde5129a) + $ hg phase -p . + 1 new phase-divergent changesets + $ hg log --hidden -G + * changeset: 2:fdf9bde5129a + | tag: tip + | parent: 0:ea207398892e + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | instability: phase-divergent + | summary: A1 + | + | @ changeset: 1:471f378eab4c + |/ 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 + +Actual test +----------- + +Check that debugobshistory on the divergent revision show both destinations + $ hg obslog --hidden 471f378eab4c --patch + @ 471f378eab4c (1) A0 + rewritten(description) as fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000) + diff -r 471f378eab4c -r fdf9bde5129a changeset-description + --- a/changeset-description + +++ b/changeset-description + @@ -1,1 +1,1 @@ + -A0 + +A1 + + + +Check that with all option, every changeset is shown + $ hg obslog --hidden --all 471f378eab4c --patch + * fdf9bde5129a (2) A1 + | + @ 471f378eab4c (1) A0 + rewritten(description) as fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000) + diff -r 471f378eab4c -r fdf9bde5129a changeset-description + --- a/changeset-description + +++ b/changeset-description + @@ -1,1 +1,1 @@ + -A0 + +A1 + + + $ hg obslog --hidden 471f378eab4c --no-graph -Tjson | python -m json.tool + [ + { + "markers": [ + { + "date": [ + *, (glob) + 0 (glob) + ], + "effect": [ + "description" + ], + "operation": "amend", + "succnodes": [ + "fdf9bde5129a" + ], + "user": "test", + "verb": "rewritten" + } + ], + "node": "471f378eab4c", + "rev": 1, + "shortdescription": "A0" + } + ] +Check that debugobshistory on the first diverged revision show the revision +and the diverent one + $ hg obslog fdf9bde5129a --patch + * fdf9bde5129a (2) A1 + | + @ 471f378eab4c (1) A0 + rewritten(description) as fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000) + diff -r 471f378eab4c -r fdf9bde5129a changeset-description + --- a/changeset-description + +++ b/changeset-description + @@ -1,1 +1,1 @@ + -A0 + +A1 + + + +Check that all option show all of them + $ hg obslog fdf9bde5129a -a --patch + * fdf9bde5129a (2) A1 + | + @ 471f378eab4c (1) A0 + rewritten(description) as fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000) + diff -r 471f378eab4c -r fdf9bde5129a changeset-description + --- a/changeset-description + +++ b/changeset-description + @@ -1,1 +1,1 @@ + -A0 + +A1 + + +Check that debugobshistory on the second diverged revision show the revision +and the diverent one + $ hg obslog fdf9bde5129a --patch + * fdf9bde5129a (2) A1 + | + @ 471f378eab4c (1) A0 + rewritten(description) as fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000) + diff -r 471f378eab4c -r fdf9bde5129a changeset-description + --- a/changeset-description + +++ b/changeset-description + @@ -1,1 +1,1 @@ + -A0 + +A1 + + +Check that all option show all of them + $ hg obslog fdf9bde5129a -a --patch + * fdf9bde5129a (2) A1 + | + @ 471f378eab4c (1) A0 + rewritten(description) as fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000) + diff -r 471f378eab4c -r fdf9bde5129a changeset-description + --- a/changeset-description + +++ b/changeset-description + @@ -1,1 +1,1 @@ + -A0 + +A1 + + +Check that debugobshistory on the both diverged revision show a coherent +graph + $ hg obslog 'fdf9bde5129a+fdf9bde5129a' --patch + * fdf9bde5129a (2) A1 + | + @ 471f378eab4c (1) A0 + rewritten(description) as fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000) + diff -r 471f378eab4c -r fdf9bde5129a changeset-description + --- a/changeset-description + +++ b/changeset-description + @@ -1,1 +1,1 @@ + -A0 + +A1 + + + $ hg obslog 'fdf9bde5129a+fdf9bde5129a' --no-graph -Tjson | python -m json.tool + [ + { + "markers": [], + "node": "fdf9bde5129a", + "rev": 2, + "shortdescription": "A1" + }, + { + "markers": [ + { + "date": [ + 0, + 0 + ], + "effect": [ + "description" + ], + "operation": "amend", + "succnodes": [ + "fdf9bde5129a" + ], + "user": "test", + "verb": "rewritten" + } + ], + "node": "471f378eab4c", + "rev": 1, + "shortdescription": "A0" + } + ] + $ hg update 471f378eab4c + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg update --hidden 'desc(A0)' + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved