Mercurial > evolve
diff tests/test-evolve-obshistory-complex.t @ 2532:ca157d06b2dc mercurial-4.0
test-compat: merge with mercurial-4.1
hg log has no trouble field in mercurial 4.0, output fixed.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 31 May 2017 14:23:45 +0200 |
parents | 262d684851dc |
children | 44dd9d76afb2 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-evolve-obshistory-complex.t Wed May 31 14:23:45 2017 +0200 @@ -0,0 +1,419 @@ +Global setup +============ + + $ . $TESTDIR/testlib/common.sh + $ cat >> $HGRCPATH <<EOF + > [ui] + > interactive = true + > [phases] + > publish=False + > [extensions] + > evolve = + > EOF + +Test obslog with split + fold + split +===================================== + +Test setup +---------- + + $ hg init $TESTTMP/splitfoldsplit + $ cd $TESTTMP/splitfoldsplit + $ mkcommit ROOT + $ mkcommit A + $ mkcommit B + $ mkcommit C + $ mkcommit D + $ mkcommit E + $ mkcommit F + $ hg log -G + @ changeset: 6:d9f908fde1a1 + | tag: tip + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: F + | + o changeset: 5:0da815c333f6 + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: E + | + o changeset: 4:868d2e0eb19c + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: D + | + o changeset: 3:a8df460dbbfe + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: C + | + o changeset: 2:c473644ee0e9 + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: B + | + o changeset: 1:2a34000d3544 + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + +Split commits two by two +------------------------ + + $ hg fold --exact -r 1 -r 2 --date "0 0" -m "fold0" + 2 changesets folded + 4 new unstable changesets + $ hg fold --exact -r 3 -r 4 --date "0 0" -m "fold1" + 2 changesets folded + $ hg fold --exact -r 5 -r 6 --date "0 0" -m "fold2" + 2 changesets folded + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg log -G + @ changeset: 9:100cc25b765f + | tag: tip + | parent: 4:868d2e0eb19c + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: fold2 + | + | o changeset: 8:d15d0ffc75f6 + | | parent: 2:c473644ee0e9 + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: fold1 + | | + | | o changeset: 7:b868bc49b0a4 + | | | parent: 0:ea207398892e + | | | user: test + | | | date: Thu Jan 01 00:00:00 1970 +0000 + | | | summary: fold0 + | | | + x | | changeset: 4:868d2e0eb19c + | | | user: test + | | | date: Thu Jan 01 00:00:00 1970 +0000 + | | | summary: D + | | | + x | | changeset: 3:a8df460dbbfe + |/ / user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: C + | | + x | changeset: 2:c473644ee0e9 + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: B + | | + x | changeset: 1:2a34000d3544 + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + + +Then split +---------- + + $ hg split "desc(fold0)" -d "0 0" << EOF + > Y + > Y + > N + > N + > Y + > Y + > EOF + 0 files updated, 0 files merged, 6 files removed, 0 files unresolved + adding A + adding B + diff --git a/A b/A + new file mode 100644 + examine changes to 'A'? [Ynesfdaq?] Y + + @@ -0,0 +1,1 @@ + +A + record change 1/2 to 'A'? [Ynesfdaq?] Y + + diff --git a/B b/B + new file mode 100644 + examine changes to 'B'? [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 @@ + +B + record this change to 'B'? [Ynesfdaq?] Y + + no more change to split + $ hg split "desc(fold1)" -d "0 0" << EOF + > Y + > Y + > N + > N + > Y + > Y + > EOF + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + adding C + adding D + diff --git a/C b/C + new file mode 100644 + examine changes to 'C'? [Ynesfdaq?] Y + + @@ -0,0 +1,1 @@ + +C + record change 1/2 to 'C'? [Ynesfdaq?] Y + + 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/D b/D + new file mode 100644 + examine changes to 'D'? [Ynesfdaq?] Y + + @@ -0,0 +1,1 @@ + +D + record this change to 'D'? [Ynesfdaq?] Y + + no more change to split + $ hg split "desc(fold2)" -d "0 0" << EOF + > Y + > Y + > N + > N + > Y + > Y + > EOF + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + adding E + adding F + diff --git a/E b/E + new file mode 100644 + examine changes to 'E'? [Ynesfdaq?] Y + + @@ -0,0 +1,1 @@ + +E + record change 1/2 to 'E'? [Ynesfdaq?] Y + + diff --git a/F b/F + new file mode 100644 + examine changes to 'F'? [Ynesfdaq?] N + + created new head + Done splitting? [yN] N + diff --git a/F b/F + new file mode 100644 + examine changes to 'F'? [Ynesfdaq?] Y + + @@ -0,0 +1,1 @@ + +F + record this change to 'F'? [Ynesfdaq?] Y + + no more change to split + $ hg log -G + @ changeset: 15:d4a000f63ee9 + | tag: tip + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: fold2 + | + o changeset: 14:ec31316faa9d + | parent: 4:868d2e0eb19c + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: fold2 + | + | o changeset: 13:d0f33db50670 + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: fold1 + | | + | o changeset: 12:7b3290f6e0a0 + | | parent: 2:c473644ee0e9 + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: fold1 + | | + | | o changeset: 11:e036916b63ea + | | | user: test + | | | date: Thu Jan 01 00:00:00 1970 +0000 + | | | summary: fold0 + | | | + | | o changeset: 10:19e14c8397fc + | | | parent: 0:ea207398892e + | | | user: test + | | | date: Thu Jan 01 00:00:00 1970 +0000 + | | | summary: fold0 + | | | + x | | changeset: 4:868d2e0eb19c + | | | user: test + | | | date: Thu Jan 01 00:00:00 1970 +0000 + | | | summary: D + | | | + x | | changeset: 3:a8df460dbbfe + |/ / user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: C + | | + x | changeset: 2:c473644ee0e9 + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: B + | | + x | changeset: 1:2a34000d3544 + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + + +Connect them all +---------------- + + $ hg prune -s 12 -r 11 + 1 changesets pruned + $ hg prune -s 14 -r 13 + 1 changesets pruned + $ hg log -G + @ changeset: 15:d4a000f63ee9 + | tag: tip + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: fold2 + | + o changeset: 14:ec31316faa9d + | parent: 4:868d2e0eb19c + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: fold2 + | + | o changeset: 12:7b3290f6e0a0 + | | parent: 2:c473644ee0e9 + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: fold1 + | | + | | o changeset: 10:19e14c8397fc + | | | parent: 0:ea207398892e + | | | user: test + | | | date: Thu Jan 01 00:00:00 1970 +0000 + | | | summary: fold0 + | | | + x | | changeset: 4:868d2e0eb19c + | | | user: test + | | | date: Thu Jan 01 00:00:00 1970 +0000 + | | | summary: D + | | | + x | | changeset: 3:a8df460dbbfe + |/ / user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: C + | | + x | changeset: 2:c473644ee0e9 + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | summary: B + | | + x | changeset: 1:2a34000d3544 + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + +Actual Test +=========== + +Obslog should show a subset of the obs history, this test check that the +walking algorithm works no matter the level of successors + precursors + + $ hg obslog 12 + o 7b3290f6e0a0 (12) fold1 + |\ + x | d15d0ffc75f6 (8) fold1 + |\ \ rewritten by test (*) as 7b3290f6e0a0, d0f33db50670 (glob) + | | | + | | x e036916b63ea (11) fold0 + | | | rewritten by test (*) as 7b3290f6e0a0 (glob) + | | | + x | | 868d2e0eb19c (4) D + / / rewritten by test (*) as d15d0ffc75f6 (glob) + | | + x | a8df460dbbfe (3) C + / rewritten by test (*) as d15d0ffc75f6 (glob) + | + x b868bc49b0a4 (7) fold0 + |\ rewritten by test (*) as 19e14c8397fc, e036916b63ea (glob) + | | + x | 2a34000d3544 (1) A + / rewritten by test (*) as b868bc49b0a4 (glob) + | + x c473644ee0e9 (2) B + rewritten by test (*) as b868bc49b0a4 (glob) + +While with all option, we should see 15 changesets + + $ hg obslog --all 15 + o 19e14c8397fc (10) fold0 + | + | o 7b3290f6e0a0 (12) fold1 + | |\ + | | | @ d4a000f63ee9 (15) fold2 + | | | | + | | | | o ec31316faa9d (14) fold2 + | | | |/| + | | | x | 100cc25b765f (9) fold2 + | | | |\ \ rewritten by test (*) as d4a000f63ee9, ec31316faa9d (glob) + | | | | | | + | +-------x d0f33db50670 (13) fold1 + | | | | | rewritten by test (*) as ec31316faa9d (glob) + | | | | | + +---x | | e036916b63ea (11) fold0 + | | / / rewritten by test (*) as 7b3290f6e0a0 (glob) + | | | | + | | x | 0da815c333f6 (5) E + | | / rewritten by test (*) as 100cc25b765f (glob) + | | | + x | | b868bc49b0a4 (7) fold0 + |\ \ \ rewritten by test (*) as 19e14c8397fc, e036916b63ea (glob) + | | | | + | | x | d15d0ffc75f6 (8) fold1 + | | |\ \ rewritten by test (*) as 7b3290f6e0a0, d0f33db50670 (glob) + | | | | | + | | | | x d9f908fde1a1 (6) F + | | | | rewritten by test (*) as 100cc25b765f (glob) + | | | | + x | | | 2a34000d3544 (1) A + / / / rewritten by test (*) as b868bc49b0a4 (glob) + | | | + | x | 868d2e0eb19c (4) D + | / rewritten by test (*) as d15d0ffc75f6 (glob) + | | + | x a8df460dbbfe (3) C + | rewritten by test (*) as d15d0ffc75f6 (glob) + | + x c473644ee0e9 (2) B + rewritten by test (*) as b868bc49b0a4 (glob) +