# HG changeset patch # User Boris Feld # Date 2017-10-06 15:53:36 # Node ID 962f7df21a73f044d171fee9c237d0c5062ae317 # Parent d45236f3d38e4abf3a9e7b5a590e69502d03b824 obsfate: add obsfate to default mapfile Use the verbosity aware template keyword introduced earlier. It has the nice property of being verbosity dependent but in order to customize the obsfate part, users will need to replace the lobsfate definition from default mapfile with the one using template functions (by copying the one from test-obsmarker- template.t for example). As it's a more advanced use-case, I'm more inclined to have the same code for the {obsfate} keyword, in the changeset printer and in the default mapfile for consistency. But, the definition in default mapfile could be replaced with one based on template filter to obsfate output customization if it is a big need for users. diff --git a/mercurial/templates/map-cmdline.default b/mercurial/templates/map-cmdline.default --- a/mercurial/templates/map-cmdline.default +++ b/mercurial/templates/map-cmdline.default @@ -2,10 +2,10 @@ # to replace some keywords with 'lkeyword', for 'labelled keyword' [templates] -changeset = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{ltroubles}{summary}\n' +changeset = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{ltroubles}{lobsfate}{summary}\n' changeset_quiet = '{lnode}' -changeset_verbose = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{ltroubles}{lfiles}{lfile_copies_switch}{description}\n' -changeset_debug = '{fullcset}{branches}{bookmarks}{tags}{lphase}{parents}{manifest}{user}{ldate}{ltroubles}{lfile_mods}{lfile_adds}{lfile_dels}{lfile_copies_switch}{extras}{description}\n' +changeset_verbose = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{ltroubles}{lobsfate}{lfiles}{lfile_copies_switch}{description}\n' +changeset_debug = '{fullcset}{branches}{bookmarks}{tags}{lphase}{parents}{manifest}{user}{ldate}{ltroubles}{lobsfate}{lfile_mods}{lfile_adds}{lfile_dels}{lfile_copies_switch}{extras}{description}\n' # File templates lfiles = '{if(files, @@ -76,6 +76,10 @@ description = '{if(desc|strip, "{label(' status = '{status} {path}\n{if(copy, " {copy}\n")}' +# Obsfate templates, it would be removed once we introduce the obsfate +# template fragment +lobsfate = '{if(obsfate, "{label('log.obsfate', '{obsfate % "obsfate: {fate}\n"}')}")}' + [templatealias] labelcset(expr) = label(separate(" ", "log.changeset", diff --git a/tests/test-obsmarker-template.t b/tests/test-obsmarker-template.t --- a/tests/test-obsmarker-template.t +++ b/tests/test-obsmarker-template.t @@ -117,7 +117,27 @@ Predecessors template should show curren | @ changeset: 1:471f378eab4c |/ user: test | date: Thu Jan 01 00:00:00 1970 +0000 - | obsfate: rewritten using amend as 3:d004c8f274b9 by test2 + | obsfate: rewritten using amend as 3:d004c8f274b9 by test, test2 + | summary: A0 + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + + + $ hg log -G -T "default" + o changeset: 3:d004c8f274b9 + | tag: tip + | parent: 0:ea207398892e + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A2 + | + | @ changeset: 1:471f378eab4c + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: rewritten using amend as 3:d004c8f274b9 by test, test2 | summary: A0 | o changeset: 0:ea207398892e @@ -264,6 +284,71 @@ Check other fatelog implementations |/ Obsfate: rewritten using amend as 2:a468dc9b3633 by test (at 2009-02-13 23:31 +0000) o ea207398892e + + $ hg log -G -T "default" --hidden + @ changeset: 3:d004c8f274b9 + | tag: tip + | parent: 0:ea207398892e + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A2 + | + | x changeset: 2:a468dc9b3633 + |/ parent: 0:ea207398892e + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: rewritten using amend as 3:d004c8f274b9 by test2 + | summary: A1 + | + | x changeset: 1:471f378eab4c + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: rewritten using amend as 2:a468dc9b3633 + | summary: A0 + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + + $ hg log -G -T "default" --hidden -v + @ changeset: 3:d004c8f274b9 + | tag: tip + | parent: 0:ea207398892e + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | files: A0 + | description: + | A2 + | + | + | x changeset: 2:a468dc9b3633 + |/ parent: 0:ea207398892e + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: rewritten using amend as 3:d004c8f274b9 by test2 (at 2001-04-19 04:25 +0000) + | files: A0 + | description: + | A1 + | + | + | x changeset: 1:471f378eab4c + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: rewritten using amend as 2:a468dc9b3633 by test (at 2009-02-13 23:31 +0000) + | files: A0 + | description: + | A0 + | + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + files: ROOT + description: + ROOT + + Test templates with splitted commit =================================== @@ -439,6 +524,31 @@ Check other fatelog implementations o ea207398892e + $ hg log -G -T "default" --hidden + @ 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 + | obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a + | summary: A0 + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + + Test templates with folded commit ================================= @@ -642,6 +752,31 @@ Check other fatelog implementations |/ Obsfate: rewritten as 3:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000) o ea207398892e + $ hg log -G -T "default" --hidden + @ 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 + | | obsfate: rewritten as 3:eb5a0daa2192 + | | summary: B0 + | | + | x changeset: 1:471f378eab4c + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: rewritten as 3:eb5a0daa2192 + | summary: A0 + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + Test templates with divergence ============================== @@ -887,6 +1022,41 @@ Check other fatelog implementations | Obsfate: rewritten using amend as 3:65b757b745b9 by test (at 1970-01-01 00:00 +0000) o ea207398892e + $ hg log -G -T "default" --hidden + o changeset: 4:019fadeab383 + | tag: tip + | parent: 0:ea207398892e + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | instability: content-divergent + | summary: A3 + | + | x changeset: 3:65b757b745b9 + |/ parent: 0:ea207398892e + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: rewritten using amend as 4:019fadeab383 + | summary: A2 + | + | @ changeset: 2:fdf9bde5129a + |/ parent: 0:ea207398892e + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | instability: content-divergent + | summary: A1 + | + | x changeset: 1:471f378eab4c + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: rewritten using amend as 2:fdf9bde5129a + | obsfate: rewritten using amend as 3:65b757b745b9 + | summary: A0 + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + Test templates with amended + folded commit =========================================== @@ -1159,6 +1329,38 @@ Check other fatelog implementations |/ Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000) o ea207398892e + $ hg log -G -T "default" --hidden + @ 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 + | | obsfate: rewritten as 4:eb5a0daa2192 + | | summary: B1 + | | + | | x changeset: 2:0dec01379d3b + | |/ user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | obsfate: rewritten using amend as 3:b7ea6d14e664 + | | summary: B0 + | | + | x changeset: 1:471f378eab4c + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: rewritten as 4:eb5a0daa2192 + | summary: A0 + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + Test template with pushed and pulled obs markers ================================================ @@ -1337,6 +1539,25 @@ Check other fatelog implementations |/ Obsfate: rewritten using amend as 2:7a230b46bf61 by test (at 1970-01-01 00:00 +0000) o ea207398892e + $ hg log -G -T "default" --hidden + @ changeset: 2:7a230b46bf61 + | tag: tip + | parent: 0:ea207398892e + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A2 + | + | x changeset: 1:471f378eab4c + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: rewritten using amend as 2:7a230b46bf61 + | summary: A0 + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + Test template with obsmarkers cycle =================================== @@ -1509,6 +1730,32 @@ Check other fatelog implementations |/ Obsfate: rewritten as 2:0dec01379d3b by test (at 1970-01-01 00:00 +0000) @ ea207398892e + $ hg log -G -T "default" --hidden + o changeset: 3:f897c6137566 + | 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 + | | obsfate: rewritten as 3:f897c6137566 + | | obsfate: rewritten as 1:471f378eab4c + | | summary: B0 + | | + | x changeset: 1:471f378eab4c + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: rewritten as 2:0dec01379d3b + | summary: A0 + | + @ changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + Test template with split + divergence with cycles ================================================= @@ -1939,6 +2186,80 @@ Check other fatelog implementations |/ Obsfate: rewritten as 2:0dec01379d3b by test (at 1970-01-01 00:00 +0000) o ea207398892e + $ hg log -G -T "default" --hidden + o changeset: 10:eceed8f98ffc + | tag: tip + | parent: 8:b18bc8331526 + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | instability: content-divergent + | summary: Add A,B,C + | + | o changeset: 9:0b997eb7ceee + | | parent: 5:dd800401bd8c + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | instability: content-divergent + | | summary: Add B only + | | + o | changeset: 8:b18bc8331526 + |/ parent: 5:dd800401bd8c + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | instability: content-divergent + | summary: Add only B + | + | x changeset: 7:ba2ed02b0c9a + | | user: test + | | date: Thu Jan 01 00:00:00 1970 +0000 + | | obsfate: rewritten using rebase as 10:eceed8f98ffc + | | summary: Add A,B,C + | | + | x changeset: 6:4a004186e638 + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: rewritten using amend as 8:b18bc8331526 + | obsfate: rewritten using amend as 9:0b997eb7ceee + | summary: Add A,B,C + | + o changeset: 5:dd800401bd8c + | parent: 3:f897c6137566 + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | instability: content-divergent + | summary: Add A,B,C + | + | @ changeset: 4:9bd10a0775e4 + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: split as 5:dd800401bd8c, 6:4a004186e638, 7:ba2ed02b0c9a + | summary: Add A,B,C + | + o changeset: 3:f897c6137566 + | 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 + | | obsfate: rewritten as 3:f897c6137566 + | | obsfate: rewritten as 1:471f378eab4c + | | summary: B0 + | | + | x changeset: 1:471f378eab4c + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: rewritten as 2:0dec01379d3b + | summary: A0 + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + + Test templates with pruned commits ================================== @@ -2046,6 +2367,35 @@ Check other fatelog implementations o ea207398892e + $ hg log -G -T "default" --hidden + x changeset: 3:65b757b745b9 + | tag: tip + | parent: 0:ea207398892e + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: pruned + | summary: A2 + | + | x changeset: 2:fdf9bde5129a + |/ parent: 0:ea207398892e + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: pruned + | summary: A1 + | + | @ changeset: 1:471f378eab4c + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: rewritten using amend as 2:fdf9bde5129a + | obsfate: rewritten using amend as 3:65b757b745b9 + | summary: A0 + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + + Test templates with splitted and pruned commit ============================================== @@ -2168,3 +2518,28 @@ Check other fatelog implementations |/ Obsfate: split as 2:617adc3a144c, 3:0d0ef4bdf70e by test (at 1970-01-01 00:00 +0000) o ea207398892e + $ hg log -G -T "default" --hidden + @ changeset: 3:0d0ef4bdf70e + | tag: tip + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: pruned + | summary: A2 + | + o changeset: 2:617adc3a144c + | parent: 0:ea207398892e + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A1 + | + | x changeset: 1:471597cad322 + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | obsfate: split as 2:617adc3a144c, 3:0d0ef4bdf70e + | summary: A0 + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + diff --git a/tests/test-obsolete.t b/tests/test-obsolete.t --- a/tests/test-obsolete.t +++ b/tests/test-obsolete.t @@ -949,6 +949,7 @@ test the default cmdline template parent: 3:6f9641995072 user: test date: Thu Jan 01 00:00:00 1970 +0000 + obsfate: pruned summary: add obsolete_e @@ -984,6 +985,7 @@ test the obsolete labels [log.parent changeset.draft|parent: 3:6f9641995072] [log.user|user: test] [log.date|date: Thu Jan 01 00:00:00 1970 +0000] + [log.obsfate|obsfate: pruned] [log.summary|summary: add obsolete_e]