# HG changeset patch # User Siddharth Agarwal # Date 1416377585 28800 # Node ID 341e4798c24db204b8c0145b890c75fe6fc750d2 # Parent 86c0d8c1484f8215e27b7954244a2cc311f1467f jsonchangeset: don't honor whitespace and format-changing diffopts JSON is meant to be parsed by computers, and format changes can break them. diff -r 86c0d8c1484f -r 341e4798c24d mercurial/cmdutil.py --- a/mercurial/cmdutil.py Tue Nov 18 21:49:05 2014 -0800 +++ b/mercurial/cmdutil.py Tue Nov 18 22:13:05 2014 -0800 @@ -1093,7 +1093,7 @@ if matchfn: stat = self.diffopts.get('stat') diff = self.diffopts.get('patch') - diffopts = patch.diffopts(self.ui, self.diffopts) + diffopts = patch.difffeatureopts(self.ui, self.diffopts, git=True) node, prev = ctx.node(), ctx.p1().node() if stat: self.ui.pushbuffer() diff -r 86c0d8c1484f -r 341e4798c24d tests/test-command-template.t --- a/tests/test-command-template.t Tue Nov 18 21:49:05 2014 -0800 +++ b/tests/test-command-template.t Tue Nov 18 22:13:05 2014 -0800 @@ -525,6 +525,25 @@ } ] +honor --git but not format-breaking diffopts + $ hg --config diff.noprefix=True log --git -vpr . -Tjson + [ + { + "rev": 8, + "node": "95c24699272ef57d062b8bccc32c878bf841784a", + "branch": "default", + "phase": "draft", + "user": "test", + "date": [1577872860, 0], + "desc": "third", + "bookmarks": [], + "tags": ["tip"], + "parents": ["29114dbae42b9f078cf2714dbe3a86bba8ec7453"], + "files": ["fourth", "second", "third"], + "diff": "diff --git a/second b/fourth\nrename from second\nrename to fourth\ndiff --git a/third b/third\nnew file mode 100644\n--- /dev/null\n+++ b/third\n@@ -0,0 +1,1 @@\n+third\n" + } + ] + $ hg log -T json [ {