# HG changeset patch # User Alecs King # Date 2010-08-13 06:29:30 # Node ID d157e040ac4c65d95adf4a11547d59f31ae8be6c # Parent 8e56928e8991d4527b9b24b8fc68840c07bd710f log: fix the bug 'hg log --stat -p == hg log --stat' Before: hg log --stat -p -r tip # only show stat After: hg log --stat -p -r tip # show stat _and_ diff diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -663,7 +663,7 @@ def diffordiffstat(ui, repo, diffopts, n fp.write(s) if stat: - diffopts.context = 0 + diffopts = diffopts.copy(context=0) width = 80 if not ui.plain(): width = util.termwidth() @@ -803,10 +803,17 @@ class changeset_printer(object): matchfn = self.patch if matchfn: stat = self.diffopts.get('stat') + diff = self.diffopts.get('patch') diffopts = patch.diffopts(self.ui, self.diffopts) prev = self.repo.changelog.parents(node)[0] - diffordiffstat(self.ui, self.repo, diffopts, prev, node, - match=matchfn, stat=stat) + if stat: + diffordiffstat(self.ui, self.repo, diffopts, prev, node, + match=matchfn, stat=True) + if diff: + if stat: + self.ui.write("\n") + diffordiffstat(self.ui, self.repo, diffopts, prev, node, + match=matchfn, stat=False) self.ui.write("\n") def _meaningful_parentrevs(self, log, rev):