--- /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)
--- 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
==============================