diff -r 0471b9ddd0b2 -r 844b1ad5b34b tests/test-evolve-obshistory.t --- a/tests/test-evolve-obshistory.t Wed Apr 08 01:17:01 2020 +0800 +++ b/tests/test-evolve-obshistory.t Fri May 08 22:50:09 2020 +0800 @@ -93,7 +93,7 @@ Actual test ----------- - $ hg obslog 7a230b46bf61 --patch + $ hg obslog 7a230b46bf61 --patch --no-origin @ 7a230b46bf61 (3) A2 | x fdf9bde5129a (2) A1 @@ -116,6 +116,31 @@ +A1 + + $ hg obslog 7a230b46bf61 --patch + @ 7a230b46bf61 (3) A2 + | reworded(description) from fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000) + | diff -r fdf9bde5129a -r 7a230b46bf61 changeset-description + | --- a/changeset-description + | +++ b/changeset-description + | @@ -1,1 +1,1 @@ + | -A1 + | +A2 + | + | + x fdf9bde5129a (2) A1 + | reworded(description) from 471f378eab4c 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 + | + | + x 471f378eab4c (1) A0 + + $ cd $TESTTMP/local-remote-markers-2 $ hg pull pulling from $TESTTMP/local-remote-markers-1 @@ -130,9 +155,8 @@ (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) -Check that debugobshistory works with markers pointing to missing local -changectx - $ hg obslog 7a230b46bf61 --patch +Check that obslog works with markers pointing to missing local changectx + $ hg obslog 7a230b46bf61 --patch --no-origin o 7a230b46bf61 (2) A2 | x fdf9bde5129a @@ -144,11 +168,23 @@ (No patch available, successor is unknown locally) - $ hg obslog 7a230b46bf61 --patch -f + $ hg obslog 7a230b46bf61 --patch + o 7a230b46bf61 (2) A2 + | reworded(description) from fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000) + | (No patch available, predecessor is unknown locally) + | + x fdf9bde5129a + | reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000) + | (No patch available, context is not local) + | + @ 471f378eab4c (1) A0 + + + $ hg obslog 7a230b46bf61 --patch -f --no-origin o 7a230b46bf61 (2) A2 | @ 471f378eab4c (1) A0 - reworded(description) as 7a230b46bf61 using amend by test (at Thu Jan 01 00:00:00 1970 +0000) + reworded(description) as 7a230b46bf61 using amend by test (Thu Jan 01 00:00:00 1970 +0000) diff -r 471f378eab4c -r 7a230b46bf61 changeset-description --- a/changeset-description +++ b/changeset-description @@ -157,23 +193,111 @@ +A2 + $ hg obslog 7a230b46bf61 --patch -f + o 7a230b46bf61 (2) A2 + | reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000) + | diff -r 471f378eab4c -r 7a230b46bf61 changeset-description + | --- a/changeset-description + | +++ b/changeset-description + | @@ -1,1 +1,1 @@ + | -A0 + | +A2 + | + | + @ 471f378eab4c (1) A0 + + $ hg obslog 7a230b46bf61 --color=debug --patch o [evolve.node|7a230b46bf61] [evolve.rev|(2)] [evolve.short_description|A2] + | [evolve.verb|reworded](description) from [evolve.node|fdf9bde5129a] using [evolve.operation|amend] by [evolve.user|test] [evolve.date|(Thu Jan 01 00:00:00 1970 +0000)] + | (No patch available, predecessor is unknown locally) | x [evolve.node evolve.missing_change_ctx|fdf9bde5129a] - | [evolve.verb|reworded](description) as [evolve.node|7a230b46bf61] using [evolve.operation|amend] by [evolve.user|test] [evolve.date|(Thu Jan 01 00:00:00 1970 +0000)] + | [evolve.verb|reworded](description) from [evolve.node|471f378eab4c] using [evolve.operation|amend] by [evolve.user|test] [evolve.date|(Thu Jan 01 00:00:00 1970 +0000)] | (No patch available, context is not local) | @ [evolve.node|471f378eab4c] [evolve.rev|(1)] [evolve.short_description|A0] - [evolve.verb|reworded](description) as [evolve.node|fdf9bde5129a] using [evolve.operation|amend] by [evolve.user|test] [evolve.date|(Thu Jan 01 00:00:00 1970 +0000)] - (No patch available, successor is unknown locally) - $ hg obslog 7a230b46bf61 --graph \ - > -T '{node|short} {rev} {desc|firstline}\n{markers % "rewritten using {operation}"}\n' + $ hg obslog 7a230b46bf61 --graph --no-origin \ + > -T '{node|short} {rev} {desc|firstline}\n{markers % "rewritten using {operations}"}\n' o 7a230b46bf61 2 A2 | x fdf9bde5129a | rewritten using amend @ 471f378eab4c 1 A0 rewritten using amend + + $ hg obslog 7a230b46bf61 --graph \ + > -T '{node|short} {rev} {desc|firstline}\n{markers % "rewritten using {operations}"}\n' + o 7a230b46bf61 2 A2 + | rewritten using amend + x fdf9bde5129a + | rewritten using amend + @ 471f378eab4c 1 A0 + + +Test output with non-local changesets and various templates +=========================================================== + + $ hg init $TESTTMP/obslog-non-local-templates + $ cd $TESTTMP/obslog-non-local-templates + $ cat << EOF >> .hg/hgrc + > [templates] + > fancy = '{desc|firstline}\n{markers % "{verb} using {operations} by {users} ({join(notes, "; ")})"}' + > fancier = '{desc|firstline}\n{markers % "{join(users, ", ")} had {verb} this commit using {join(operations, "/")} and said: {join(notes % "\"{note}\"", ", ")})"}' + > EOF + + $ mkcommit A0 + $ hg metaedit -m 'A1' -n 'note1' -d '42 0' --config devel.default-date='1 0' -q + $ HGUSER=alice hg amend -m 'A2' -n 'note2' + $ HGUSER=bob hg amend -m 'A3' -n 'note3' + + $ hg debugobsolete + 6ffd04c870fe2b73e7c885e508c4f1213a75c4d4 e481355d236800802337be3e637bd820870b04d2 0 (Thu Jan 01 00:00:01 1970 +0000) {'ef1': '33', 'note': 'note1', 'operation': 'metaedit', 'user': 'test'} + e481355d236800802337be3e637bd820870b04d2 65835bf83412a950e6a47f023690d5e6ae09718d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'note': 'note2', 'operation': 'amend', 'user': 'alice'} + 65835bf83412a950e6a47f023690d5e6ae09718d 41985e02b792daac8907f6b30b513bbf6e8e034d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'note': 'note3', 'operation': 'amend', 'user': 'bob'} + + $ hg strip 'desc(A1) + desc(A2)' --hidden --quiet --config extensions.strip= + + $ hg obslog -f --no-origin + @ 41985e02b792 (1) A3 + | + x 6ffd04c870fe (0) A0 + rewritten(description, date) as 41985e02b792 using amend, metaedit by alice, bob, test (between Thu Jan 01 00:00:00 1970 +0000 and Thu Jan 01 00:00:01 1970 +0000) + note: note1 + note: note2 + note: note3 + + $ hg obslog -f + @ 41985e02b792 (1) A3 + | rewritten(description, date) from 6ffd04c870fe using amend, metaedit by alice, bob, test (between Thu Jan 01 00:00:00 1970 +0000 and Thu Jan 01 00:00:01 1970 +0000) + | note: note1 + | note: note2 + | note: note3 + | + x 6ffd04c870fe (0) A0 + + $ hg obslog -f -T fancy --no-origin + @ A3 + | + x A0 + rewritten using amend, metaedit by alice, bob, test (note1; note2; note3) + + $ hg obslog -f -T fancy + @ A3 + | rewritten using amend, metaedit by alice, bob, test (note1; note2; note3) + x A0 + + + $ hg obslog -f -T fancier --no-origin + @ A3 + | + x A0 + alice, bob, test had rewritten this commit using amend/metaedit and said: "note1", "note2", "note3") + + $ hg obslog -f -T fancier + @ A3 + | alice, bob, test had rewritten this commit using amend/metaedit and said: "note1", "note2", "note3") + x A0 +