# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 1515670870 -19800 # Node ID 6d345d7ca682b01242d1dcb0f0a0cb2d5421a4fd # Parent 4adf46158b9b7360ec61a8e5e1cc3add5be63e14 obslog: add header to the changeset description diff This patch adds `diff -r -r ` header to the output of the changeset description diff which is shown using the --patch flag of obslog command. This fixes the label/color issue for description diff also. diff -r 4adf46158b9b -r 6d345d7ca682 hgext3rd/evolve/obshistory.py --- a/hgext3rd/evolve/obshistory.py Thu Jan 11 16:30:46 2018 +0530 +++ b/hgext3rd/evolve/obshistory.py Thu Jan 11 17:11:10 2018 +0530 @@ -176,8 +176,8 @@ succdesc = succctx.description() + '\n' # fake file name - basename = "%s-changeset-description" % basectx - succname = "%s-changeset-description" % succctx + basename = "changeset-description" + succname = "changeset-description" d = mdiff.unidiff(basedesc, '', succdesc, '', basename, succname) # mercurial 4.1 and before return the patch directly @@ -189,6 +189,7 @@ # Copied from patch.diff text = ''.join(sum((list(hlines) for hrange, hlines in hunks), [])) patch = "\n".join(uheaders + [text]) + return patch class missingchangectx(object): @@ -503,15 +504,19 @@ descriptionpatch = getmarkerdescriptionpatch(repo, node, succ) if descriptionpatch: - fm.plain("\n") + # add the diffheader + diffheader = "diff -r %s -r %s changeset-description\n" % \ + (repo[node], repo[succ]) + descriptionpatch = diffheader + descriptionpatch def tolist(text): return [text] + fm.plain("\n") + for chunk, label in patch.difflabel(tolist, descriptionpatch): - if chunk == '\t': - continue - if chunk != '\n': + chunk = chunk.strip('\t') + if chunk and chunk != '\n': fm.plain(' ') fm.write('desc-diff', '%s', chunk, label=label) diff -r 4adf46158b9b -r 6d345d7ca682 tests/test-evolve-obshistory.t --- a/tests/test-evolve-obshistory.t Thu Jan 11 16:30:46 2018 +0530 +++ b/tests/test-evolve-obshistory.t Thu Jan 11 17:11:10 2018 +0530 @@ -56,8 +56,9 @@ | x 471f378eab4c (1) A0 rewritten(description, content) as 4ae3a4151de9 by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/4ae3a4151de9-changeset-description + diff -r 471f378eab4c -r 4ae3a4151de9 changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,3 @@ -A0 +A1 @@ -77,8 +78,9 @@ | x [evolve.node|471f378eab4c] [evolve.rev|(1)] [evolve.short_description|A0] [evolve.verb|rewritten](description, content) as [evolve.node|4ae3a4151de9] by [evolve.user|test] [evolve.date|(Thu Jan 01 00:00:00 1970 +0000)] - [diff.deleted|--- a/471f378eab4c-changeset-description] - [diff.inserted|+++ b/4ae3a4151de9-changeset-description] + [diff.diffline|diff -r 471f378eab4c -r 4ae3a4151de9 changeset-description] + [diff.file_a|--- a/changeset-description] + [diff.file_b|+++ b/changeset-description] [diff.hunk|@@ -1,1 +1,3 @@] [diff.deleted|-A0] [diff.inserted|+A1] @@ -98,14 +100,15 @@ 4ae3a4151de9 (2) A1 471f378eab4c (1) A0 rewritten(description, content) as 4ae3a4151de9 by test (Thu Jan 01 00:00:00 1970 +0000) - --- a/471f378eab4c-changeset-description - +++ b/4ae3a4151de9-changeset-description + diff -r 471f378eab4c -r 4ae3a4151de9 changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,3 @@ -A0 +A1 + +Better commit message - + diff -r 471f378eab4c -r 4ae3a4151de9 A0 --- a/A0 Thu Jan 01 00:00:00 1970 +0000 +++ b/A0 Thu Jan 01 00:00:00 1970 +0000 @@ -153,8 +156,9 @@ $ hg obslog --hidden --patch 471f378eab4c x 471f378eab4c (1) A0 rewritten(description, content) as 4ae3a4151de9 by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/4ae3a4151de9-changeset-description + diff -r 471f378eab4c -r 4ae3a4151de9 changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,3 @@ -A0 +A1 @@ -844,8 +848,9 @@ $ hg obslog --hidden 471f378eab4c --patch x 471f378eab4c (1) A0 rewritten(description, content) as eb5a0daa2192 by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/eb5a0daa2192-changeset-description + diff -r 471f378eab4c -r eb5a0daa2192 changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +C0 @@ -867,8 +872,9 @@ | x 471f378eab4c (1) A0 rewritten(description, content) as eb5a0daa2192 by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/eb5a0daa2192-changeset-description + diff -r 471f378eab4c -r eb5a0daa2192 changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +C0 @@ -897,8 +903,9 @@ | x 471f378eab4c (1) A0 rewritten(description, content) as eb5a0daa2192 by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/eb5a0daa2192-changeset-description + diff -r 471f378eab4c -r eb5a0daa2192 changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +C0 @@ -921,8 +928,9 @@ | x 471f378eab4c (1) A0 rewritten(description, content) as eb5a0daa2192 by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/eb5a0daa2192-changeset-description + diff -r 471f378eab4c -r eb5a0daa2192 changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +C0 @@ -1079,15 +1087,17 @@ $ hg obslog --hidden 471f378eab4c --patch x 471f378eab4c (1) A0 rewritten(description) as 65b757b745b9 by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/65b757b745b9-changeset-description + diff -r 471f378eab4c -r 65b757b745b9 changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +A2 rewritten(description) as fdf9bde5129a by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/fdf9bde5129a-changeset-description + diff -r 471f378eab4c -r fdf9bde5129a changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +A1 @@ -1102,15 +1112,17 @@ |/ x 471f378eab4c (1) A0 rewritten(description) as 65b757b745b9 by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/65b757b745b9-changeset-description + diff -r 471f378eab4c -r 65b757b745b9 changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +A2 rewritten(description) as fdf9bde5129a by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/fdf9bde5129a-changeset-description + diff -r 471f378eab4c -r fdf9bde5129a changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +A1 @@ -1161,15 +1173,17 @@ | x 471f378eab4c (1) A0 rewritten(description) as 65b757b745b9 by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/65b757b745b9-changeset-description + diff -r 471f378eab4c -r 65b757b745b9 changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +A2 rewritten(description) as fdf9bde5129a by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/fdf9bde5129a-changeset-description + diff -r 471f378eab4c -r fdf9bde5129a changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +A1 @@ -1184,15 +1198,17 @@ |/ x 471f378eab4c (1) A0 rewritten(description) as 65b757b745b9 by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/65b757b745b9-changeset-description + diff -r 471f378eab4c -r 65b757b745b9 changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +A2 rewritten(description) as fdf9bde5129a by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/fdf9bde5129a-changeset-description + diff -r 471f378eab4c -r fdf9bde5129a changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +A1 @@ -1205,15 +1221,17 @@ | x 471f378eab4c (1) A0 rewritten(description) as 65b757b745b9 by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/65b757b745b9-changeset-description + diff -r 471f378eab4c -r 65b757b745b9 changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +A2 rewritten(description) as fdf9bde5129a by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/fdf9bde5129a-changeset-description + diff -r 471f378eab4c -r fdf9bde5129a changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +A1 @@ -1227,15 +1245,17 @@ |/ x 471f378eab4c (1) A0 rewritten(description) as 65b757b745b9 by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/65b757b745b9-changeset-description + diff -r 471f378eab4c -r 65b757b745b9 changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +A2 rewritten(description) as fdf9bde5129a by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/fdf9bde5129a-changeset-description + diff -r 471f378eab4c -r fdf9bde5129a changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +A1 @@ -1250,15 +1270,17 @@ |/ x 471f378eab4c (1) A0 rewritten(description) as 65b757b745b9 by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/65b757b745b9-changeset-description + diff -r 471f378eab4c -r 65b757b745b9 changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +A2 rewritten(description) as fdf9bde5129a by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/fdf9bde5129a-changeset-description + diff -r 471f378eab4c -r fdf9bde5129a changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +A1 @@ -1404,8 +1426,9 @@ |\ x | 471f378eab4c (1) A0 / rewritten(description, content) as eb5a0daa2192 by test (*) (glob) - | --- a/471f378eab4c-changeset-description - | +++ b/eb5a0daa2192-changeset-description + | diff -r 471f378eab4c -r eb5a0daa2192 changeset-description + | --- a/changeset-description + | +++ b/changeset-description | @@ -1,1 +1,1 @@ | -A0 | +C0 @@ -1423,8 +1446,9 @@ | x 0dec01379d3b (2) B0 rewritten(description) as b7ea6d14e664 by test (*) (glob) - --- a/0dec01379d3b-changeset-description - +++ b/b7ea6d14e664-changeset-description + diff -r 0dec01379d3b -r b7ea6d14e664 changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -B0 +B1 @@ -1436,8 +1460,9 @@ |\ x | 471f378eab4c (1) A0 / rewritten(description, content) as eb5a0daa2192 by test (*) (glob) - | --- a/471f378eab4c-changeset-description - | +++ b/eb5a0daa2192-changeset-description + | diff -r 471f378eab4c -r eb5a0daa2192 changeset-description + | --- a/changeset-description + | +++ b/changeset-description | @@ -1,1 +1,1 @@ | -A0 | +C0 @@ -1455,8 +1480,9 @@ | x 0dec01379d3b (2) B0 rewritten(description) as b7ea6d14e664 by test (*) (glob) - --- a/0dec01379d3b-changeset-description - +++ b/b7ea6d14e664-changeset-description + diff -r 0dec01379d3b -r b7ea6d14e664 changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -B0 +B1 @@ -1631,8 +1657,9 @@ | x fdf9bde5129a (2) A1 | rewritten(description) as 7a230b46bf61 by test (*) (glob) - | --- a/fdf9bde5129a-changeset-description - | +++ b/7a230b46bf61-changeset-description + | diff -r fdf9bde5129a -r 7a230b46bf61 changeset-description + | --- a/changeset-description + | +++ b/changeset-description | @@ -1,1 +1,1 @@ | -A1 | +A2 @@ -1640,8 +1667,9 @@ | x 471f378eab4c (1) A0 rewritten(description) as fdf9bde5129a by test (*) (glob) - --- a/471f378eab4c-changeset-description - +++ b/fdf9bde5129a-changeset-description + diff -r 471f378eab4c -r fdf9bde5129a changeset-description + --- a/changeset-description + +++ b/changeset-description @@ -1,1 +1,1 @@ -A0 +A1