Mercurial > evolve
view tests/test-evolve-obshistory.t @ 2357:f787f5406a98
obscache: extract a data agnostic class
We now have an independent class that we can reuse for other purpose
(eg: obshashrange cache)
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 12 May 2017 19:18:49 +0200 |
parents | ea816b5c1cf6 |
children | c07f752137f4 |
line wrap: on
line source
This test file test the various messages when accessing obsolete revisions. Global setup ============ $ . $TESTDIR/testlib/common.sh $ cat >> $HGRCPATH <<EOF > [ui] > interactive = true > [phases] > publish=False > [extensions] > evolve = > EOF Test output on amended commit ============================= Test setup ---------- $ hg init $TESTTMP/local-amend $ cd $TESTTMP/local-amend $ mkcommit ROOT $ mkcommit A0 $ echo 42 >> A0 $ hg amend -m "A1 > > Better commit message" $ hg log --hidden -G @ changeset: 3:4ae3a4151de9 | tag: tip | parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A1 | | x changeset: 2:f137d23bb3e1 | | user: test | | date: Thu Jan 01 00:00:00 1970 +0000 | | summary: temporary amend commit for 471f378eab4c | | | x 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 ----------- $ hg debugobshistory 4ae3a4151de9 4ae3a4151de9 (3) A1 471f378eab4c (1) A0 rewritten by test (*20*) as 4ae3a4151de9 (glob) $ hg debugobshistory 4ae3a4151de9 -Tjson | python -m json.tool [ { "debugobshistory.markers": [], "debugobshistory.node": "4ae3a4151de9", "debugobshistory.rev": 3, "debugobshistory.shortdescription": "A1" }, { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "4ae3a4151de9" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "471f378eab4c", "debugobshistory.rev": 1, "debugobshistory.shortdescription": "A0" } ] $ hg debugobshistory --hidden 471f378eab4c 471f378eab4c (1) A0 rewritten by test (*20*) as 4ae3a4151de9 (glob) $ hg debugobshistory --hidden 471f378eab4c -Tjson | python -m json.tool [ { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "4ae3a4151de9" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "471f378eab4c", "debugobshistory.rev": 1, "debugobshistory.shortdescription": "A0" } ] $ hg update 471f378eab4c abort: hidden revision '471f378eab4c'! (use --hidden to access hidden revisions; successor: 4ae3a4151de9) [255] $ hg update --hidden "desc(A0)" 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (471f378eab4c) (use 'hg evolve' to update to its successor: 4ae3a4151de9) Test output with pruned commit ============================== Test setup ---------- $ hg init $TESTTMP/local-prune $ cd $TESTTMP/local-prune $ mkcommit ROOT $ mkcommit A0 # 0 $ mkcommit B0 # 1 $ hg log --hidden -G @ changeset: 2:0dec01379d3b | tag: tip | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: B0 | o 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 $ hg prune -r 'desc(B0)' 0 files updated, 0 files merged, 1 files removed, 0 files unresolved working directory now at 471f378eab4c 1 changesets pruned $ hg log --hidden -G x changeset: 2:0dec01379d3b | tag: tip | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: B0 | @ 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 ----------- $ hg debugobshistory 'desc(B0)' --hidden 0dec01379d3b (2) B0 pruned by test (*20*) (glob) $ hg debugobshistory 'desc(B0)' --hidden -Tjson | python -m json.tool [ { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.verb": "pruned" } ], "debugobshistory.node": "0dec01379d3b", "debugobshistory.rev": 2, "debugobshistory.shortdescription": "B0" } ] $ hg debugobshistory 'desc(A0)' 471f378eab4c (1) A0 $ hg debugobshistory 'desc(A0)' -Tjson | python -m json.tool [ { "debugobshistory.markers": [], "debugobshistory.node": "471f378eab4c", "debugobshistory.rev": 1, "debugobshistory.shortdescription": "A0" } ] $ hg up 1 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg up 0dec01379d3b abort: hidden revision '0dec01379d3b'! (use --hidden to access hidden revisions; pruned) [255] $ hg up --hidden -r 'desc(B0)' 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (0dec01379d3b) (use 'hg evolve' to update to its parent successor) Test output with splitted commit ================================ Test setup ---------- $ hg init $TESTTMP/local-split $ cd $TESTTMP/local-split $ mkcommit ROOT $ echo 42 >> a $ echo 43 >> b $ hg commit -A -m "A0" adding a adding b $ hg log --hidden -G @ changeset: 1:471597cad322 | 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 > y > y > EOF 0 files updated, 0 files merged, 2 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 @@ +42 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 @@ +43 record this change to 'b'? [Ynesfdaq?] y no more change to split $ hg log --hidden -G @ changeset: 3:f257fde29c7a | tag: tip | 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:471597cad322 |/ 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 ----------- $ hg debugobshistory 471597cad322 --hidden 471597cad322 (1) A0 rewritten by test (*20*) as 337fec4d2edc, f257fde29c7a (glob) $ hg debugobshistory 471597cad322 --hidden -Tjson | python -m json.tool [ { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "337fec4d2edc", "f257fde29c7a" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "471597cad322", "debugobshistory.rev": 1, "debugobshistory.shortdescription": "A0" } ] $ hg debugobshistory 337fec4d2edc 337fec4d2edc (2) A0 471597cad322 (1) A0 rewritten by test (*20*) as 337fec4d2edc, f257fde29c7a (glob) $ hg debugobshistory 337fec4d2edc -Tjson | python -m json.tool [ { "debugobshistory.markers": [], "debugobshistory.node": "337fec4d2edc", "debugobshistory.rev": 2, "debugobshistory.shortdescription": "A0" }, { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "337fec4d2edc", "f257fde29c7a" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "471597cad322", "debugobshistory.rev": 1, "debugobshistory.shortdescription": "A0" } ] $ hg debugobshistory f257fde29c7a f257fde29c7a (3) A0 471597cad322 (1) A0 rewritten by test (*20*) as 337fec4d2edc, f257fde29c7a (glob) $ hg debugobshistory f257fde29c7a -Tjson | python -m json.tool [ { "debugobshistory.markers": [], "debugobshistory.node": "f257fde29c7a", "debugobshistory.rev": 3, "debugobshistory.shortdescription": "A0" }, { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "337fec4d2edc", "f257fde29c7a" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "471597cad322", "debugobshistory.rev": 1, "debugobshistory.shortdescription": "A0" } ] $ hg update 471597cad322 abort: hidden revision '471597cad322'! (use --hidden to access hidden revisions; successors: 337fec4d2edc, f257fde29c7a) [255] $ hg update --hidden 'min(desc(A0))' 0 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (471597cad322) (use 'hg evolve' to update to its tipmost successor: 337fec4d2edc, f257fde29c7a) 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 | summary: A0 | o changeset: 0:ea207398892e user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: ROOT Actual test ----------- $ hg debugobshistory de7290d8b885 --hidden de7290d8b885 (1) A0 rewritten by test (*20*) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a (glob) $ hg debugobshistory de7290d8b885 --hidden -Tjson | python -m json.tool [ { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "1ae8bc733a14", "337fec4d2edc", "c7f044602e9b", "f257fde29c7a" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "de7290d8b885", "debugobshistory.rev": 1, "debugobshistory.shortdescription": "A0" } ] $ hg debugobshistory c7f044602e9b c7f044602e9b (5) A0 de7290d8b885 (1) A0 rewritten by test (*20*) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a (glob) $ hg debugobshistory c7f044602e9b -Tjson | python -m json.tool [ { "debugobshistory.markers": [], "debugobshistory.node": "c7f044602e9b", "debugobshistory.rev": 5, "debugobshistory.shortdescription": "A0" }, { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "1ae8bc733a14", "337fec4d2edc", "c7f044602e9b", "f257fde29c7a" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "de7290d8b885", "debugobshistory.rev": 1, "debugobshistory.shortdescription": "A0" } ] $ hg debugobshistory 2:5 337fec4d2edc (2) A0 de7290d8b885 (1) A0 rewritten by test (*20*) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a (glob) f257fde29c7a (3) A0 1ae8bc733a14 (4) A0 c7f044602e9b (5) A0 $ hg update de7290d8b885 abort: hidden revision 'de7290d8b885'! (use --hidden to access hidden revisions; successors: 337fec4d2edc, f257fde29c7a and 2 more) [255] $ hg update --hidden 'min(desc(A0))' 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 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 ============================== Test setup ---------- $ hg init $TESTTMP/local-fold $ cd $TESTTMP/local-fold $ mkcommit ROOT $ mkcommit A0 $ mkcommit B0 $ hg log --hidden -G @ changeset: 2:0dec01379d3b | tag: tip | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: B0 | o 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 $ hg fold --exact -r 'desc(A0) + desc(B0)' --date "0 0" -m "C0" 2 changesets folded 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg log --hidden -G @ changeset: 3:eb5a0daa2192 | tag: tip | parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: C0 | | x changeset: 2:0dec01379d3b | | user: test | | date: Thu Jan 01 00:00:00 1970 +0000 | | summary: B0 | | | x 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 ----------- $ hg debugobshistory --hidden 471f378eab4c 471f378eab4c (1) A0 rewritten by test (*20*) as eb5a0daa2192 (glob) $ hg debugobshistory --hidden 471f378eab4c -Tjson | python -m json.tool [ { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "eb5a0daa2192" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "471f378eab4c", "debugobshistory.rev": 1, "debugobshistory.shortdescription": "A0" } ] $ hg debugobshistory --hidden 0dec01379d3b 0dec01379d3b (2) B0 rewritten by test (*20*) as eb5a0daa2192 (glob) $ hg debugobshistory --hidden 0dec01379d3b -Tjson | python -m json.tool [ { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "eb5a0daa2192" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "0dec01379d3b", "debugobshistory.rev": 2, "debugobshistory.shortdescription": "B0" } ] $ hg debugobshistory eb5a0daa2192 eb5a0daa2192 (3) C0 471f378eab4c (1) A0 rewritten by test (*20*) as eb5a0daa2192 (glob) 0dec01379d3b (2) B0 rewritten by test (*20*) as eb5a0daa2192 (glob) $ hg debugobshistory eb5a0daa2192 -Tjson | python -m json.tool [ { "debugobshistory.markers": [], "debugobshistory.node": "eb5a0daa2192", "debugobshistory.rev": 3, "debugobshistory.shortdescription": "C0" }, { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "eb5a0daa2192" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "471f378eab4c", "debugobshistory.rev": 1, "debugobshistory.shortdescription": "A0" }, { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "eb5a0daa2192" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "0dec01379d3b", "debugobshistory.rev": 2, "debugobshistory.shortdescription": "B0" } ] $ hg update 471f378eab4c abort: hidden revision '471f378eab4c'! (use --hidden to access hidden revisions; successor: eb5a0daa2192) [255] $ hg update --hidden 'desc(A0)' 0 files updated, 0 files merged, 1 files removed, 0 files unresolved working directory parent is obsolete! (471f378eab4c) (use 'hg evolve' to update to its successor: eb5a0daa2192) $ hg update 0dec01379d3b working directory parent is obsolete! (471f378eab4c) (use 'hg evolve' to update to its successor: eb5a0daa2192) abort: hidden revision '0dec01379d3b'! (use --hidden to access hidden revisions; successor: eb5a0daa2192) [255] $ hg update --hidden 'desc(B0)' 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (0dec01379d3b) (use 'hg evolve' to update to its successor: eb5a0daa2192) Test output with divergence =========================== Test setup ---------- $ hg init $TESTTMP/local-divergence $ cd $TESTTMP/local-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 | 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 working directory parent is obsolete! (471f378eab4c) (use 'hg evolve' to update to its successor: fdf9bde5129a) $ hg amend -m "A2" 2 new divergent changesets $ hg log --hidden -G @ changeset: 3:65b757b745b9 | tag: tip | parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | trouble: divergent | summary: A2 | | o changeset: 2:fdf9bde5129a |/ parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | trouble: divergent | summary: A1 | | x 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 ----------- $ hg debugobshistory --hidden 471f378eab4c 471f378eab4c (1) A0 rewritten by test (*20*) as 65b757b745b9 (glob) rewritten by test (*20*) as fdf9bde5129a (glob) $ hg debugobshistory --hidden 471f378eab4c -Tjson | python -m json.tool [ { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "65b757b745b9" ], "debugobshistory.verb": "rewritten" }, { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "fdf9bde5129a" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "471f378eab4c", "debugobshistory.rev": 1, "debugobshistory.shortdescription": "A0" } ] $ hg debugobshistory fdf9bde5129a fdf9bde5129a (2) A1 471f378eab4c (1) A0 rewritten by test (*20*) as 65b757b745b9 (glob) rewritten by test (*20*) as fdf9bde5129a (glob) $ hg debugobshistory fdf9bde5129a -Tjson | python -m json.tool [ { "debugobshistory.markers": [], "debugobshistory.node": "fdf9bde5129a", "debugobshistory.rev": 2, "debugobshistory.shortdescription": "A1" }, { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "65b757b745b9" ], "debugobshistory.verb": "rewritten" }, { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "fdf9bde5129a" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "471f378eab4c", "debugobshistory.rev": 1, "debugobshistory.shortdescription": "A0" } ] $ hg debugobshistory 65b757b745b9 65b757b745b9 (3) A2 471f378eab4c (1) A0 rewritten by test (*20*) as 65b757b745b9 (glob) rewritten by test (*20*) as fdf9bde5129a (glob) $ hg debugobshistory 65b757b745b9 -Tjson | python -m json.tool [ { "debugobshistory.markers": [], "debugobshistory.node": "65b757b745b9", "debugobshistory.rev": 3, "debugobshistory.shortdescription": "A2" }, { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "65b757b745b9" ], "debugobshistory.verb": "rewritten" }, { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "fdf9bde5129a" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "471f378eab4c", "debugobshistory.rev": 1, "debugobshistory.shortdescription": "A0" } ] $ hg update 471f378eab4c abort: hidden revision '471f378eab4c'! (use --hidden to access hidden revisions; diverged) [255] $ hg update --hidden 'desc(A0)' 0 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (471f378eab4c) (471f378eab4c has diverged, use 'hg evolve -list --divergent' to resolve the issue) Test output with amended + folded commit ======================================== Test setup ---------- $ hg init $TESTTMP/local-amend-fold $ cd $TESTTMP/local-amend-fold $ mkcommit ROOT $ mkcommit A0 $ mkcommit B0 $ hg amend -m "B1" $ hg log --hidden -G @ changeset: 3:b7ea6d14e664 | tag: tip | parent: 1:471f378eab4c | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: B1 | | x changeset: 2:0dec01379d3b |/ user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: B0 | o 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 $ hg fold --exact -r 'desc(A0) + desc(B1)' --date "0 0" -m "C0" 2 changesets folded 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg log --hidden -G @ changeset: 4:eb5a0daa2192 | tag: tip | parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: C0 | | x changeset: 3:b7ea6d14e664 | | parent: 1:471f378eab4c | | user: test | | date: Thu Jan 01 00:00:00 1970 +0000 | | summary: B1 | | | | x changeset: 2:0dec01379d3b | |/ user: test | | date: Thu Jan 01 00:00:00 1970 +0000 | | summary: B0 | | | x 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 ----------- $ hg debugobshistory --hidden 471f378eab4c 471f378eab4c (1) A0 rewritten by test (*20*) as eb5a0daa2192 (glob) $ hg debugobshistory --hidden 471f378eab4c -Tjson | python -m json.tool [ { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "eb5a0daa2192" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "471f378eab4c", "debugobshistory.rev": 1, "debugobshistory.shortdescription": "A0" } ] $ hg debugobshistory --hidden 0dec01379d3b 0dec01379d3b (2) B0 rewritten by test (*20*) as b7ea6d14e664 (glob) $ hg debugobshistory --hidden 0dec01379d3b -Tjson | python -m json.tool [ { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "b7ea6d14e664" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "0dec01379d3b", "debugobshistory.rev": 2, "debugobshistory.shortdescription": "B0" } ] $ hg debugobshistory eb5a0daa2192 eb5a0daa2192 (4) C0 b7ea6d14e664 (3) B1 rewritten by test (*20*) as eb5a0daa2192 (glob) 0dec01379d3b (2) B0 rewritten by test (*20*) as b7ea6d14e664 (glob) 471f378eab4c (1) A0 rewritten by test (*20*) as eb5a0daa2192 (glob) $ hg debugobshistory eb5a0daa2192 -Tjson | python -m json.tool [ { "debugobshistory.markers": [], "debugobshistory.node": "eb5a0daa2192", "debugobshistory.rev": 4, "debugobshistory.shortdescription": "C0" }, { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "eb5a0daa2192" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "b7ea6d14e664", "debugobshistory.rev": 3, "debugobshistory.shortdescription": "B1" }, { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "b7ea6d14e664" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "0dec01379d3b", "debugobshistory.rev": 2, "debugobshistory.shortdescription": "B0" }, { "debugobshistory.markers": [ { "debugobshistory.marker_date": [ *, (glob) 0 (glob) ], "debugobshistory.marker_user": "test", "debugobshistory.succnodes": [ "eb5a0daa2192" ], "debugobshistory.verb": "rewritten" } ], "debugobshistory.node": "471f378eab4c", "debugobshistory.rev": 1, "debugobshistory.shortdescription": "A0" } ] $ hg update 471f378eab4c abort: hidden revision '471f378eab4c'! (use --hidden to access hidden revisions; successor: eb5a0daa2192) [255] $ hg update --hidden 'desc(A0)' 0 files updated, 0 files merged, 1 files removed, 0 files unresolved working directory parent is obsolete! (471f378eab4c) (use 'hg evolve' to update to its successor: eb5a0daa2192) $ hg update --hidden 0dec01379d3b 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (0dec01379d3b) (use 'hg evolve' to update to its successor: eb5a0daa2192) $ hg update 0dec01379d3b 0 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (0dec01379d3b) (use 'hg evolve' to update to its successor: eb5a0daa2192) $ hg update --hidden 'desc(B0)' 0 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (0dec01379d3b) (use 'hg evolve' to update to its successor: eb5a0daa2192) Test output with pushed and pulled obs markers ============================================== Test setup ---------- $ hg init $TESTTMP/local-remote-markers-1 $ cd $TESTTMP/local-remote-markers-1 $ mkcommit ROOT $ mkcommit A0 $ hg log --hidden -G @ changeset: 1:471f378eab4c | 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 clone $TESTTMP/local-remote-markers-1 $TESTTMP/local-remote-markers-2 updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd $TESTTMP/local-remote-markers-2 $ hg log --hidden -G @ changeset: 1:471f378eab4c | 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 $ cd $TESTTMP/local-remote-markers-1 $ hg amend -m "A1" $ hg amend -m "A2" $ hg log --hidden -G @ changeset: 3:7a230b46bf61 | tag: tip | parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A2 | | x changeset: 2:fdf9bde5129a |/ 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 | summary: A0 | o changeset: 0:ea207398892e user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: ROOT Actual test ----------- $ hg debugobshistory 7a230b46bf61 7a230b46bf61 (3) A2 fdf9bde5129a (2) A1 rewritten by test (*20*) as 7a230b46bf61 (glob) 471f378eab4c (1) A0 rewritten by test (*20*) as fdf9bde5129a (glob) $ cd $TESTTMP/local-remote-markers-2 $ hg pull pulling from $TESTTMP/local-remote-markers-1 searching for changes adding changesets adding manifests adding file changes added 1 changesets with 0 changes to 1 files (+1 heads) 2 new obsolescence markers (run 'hg heads' to see heads, 'hg merge' to merge) working directory parent is obsolete! (471f378eab4c) (use 'hg evolve' to update to its successor: 7a230b46bf61) $ hg debugobshistory 7a230b46bf61 --traceback 7a230b46bf61 (2) A2 fdf9bde5129a rewritten by test (*20*) as 7a230b46bf61 (glob) 471f378eab4c (1) A0 rewritten by test (*20*) as fdf9bde5129a (glob) $ hg debugobshistory 7a230b46bf61 --color=debug [evolve.short_node|7a230b46bf61] [evolve.rev|(2)] [evolve.short_description|A2] [evolve.short_node evolve.missing_change_ctx|fdf9bde5129a] [evolve.verb|rewritten] by [evolve.user|test] [evolve.date|(*20*)] as [evolve.short_node|7a230b46bf61] (glob) [evolve.short_node|471f378eab4c] [evolve.rev|(1)] [evolve.short_description|A0] [evolve.verb|rewritten] by [evolve.user|test] [evolve.date|(*20*)] as [evolve.short_node|fdf9bde5129a] (glob)