# HG changeset patch # User Augie Fackler <au...@google.com> # Date 1472586907 14400 # Tue Aug 30 15:55:07 2016 -0400 # Node ID fd68fb86c29873eb32c4a2bd28f7ac0abe3dc172 # Parent 6127fee6ac8208a62f718d53aca6cb814f43b742 diffopts: notice a negated boolean flag in diffopts
This means that if you have git-diffs enabled by default (pretty common) and you hit the rare (but real) case where a git-diff breaks patch(1) or some other tool, you can easily disable it by just specifying --git=0 on the command line. diff --git a/mercurial/patch.py b/mercurial/patch.py --- a/mercurial/patch.py +++ b/mercurial/patch.py @@ -2142,7 +2142,7 @@ def difffeatureopts(ui, opts=None, untru def get(key, name=None, getter=ui.configbool, forceplain=None): if opts: v = opts.get(key) - if v: + if v or v is False: return v if forceplain is not None and ui.plain(): return forceplain diff --git a/tests/test-diff-unified.t b/tests/test-diff-unified.t --- a/tests/test-diff-unified.t +++ b/tests/test-diff-unified.t @@ -333,4 +333,20 @@ showfunc diff + return a + b + c + e; } +If [diff] git is set to true, but the user says --no-git, we should +*not* get git diffs + $ hg diff --nodates --config diff.git=1 --no-git + diff -r f2c7c817fa55 f1 + --- a/f1 + +++ b/f1 + @@ -2,6 +2,6 @@ + int a = 0; + int b = 1; + int c = 2; + - int d = 3; + - return a + b + c + d; + + int e = 3; + + return a + b + c + e; + } + $ cd .. _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel