diff tests/test-diff-unified.t @ 29948:e40343ce9c4c

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 --no-git on the command line. I feel a little bad about the isinstance() check, but some values in diffopts are not booleans and so we need to preserve false iff the flag is a boolean flag: failing to do this means we end up with empty string defaults for flags clobbering meaningful values from the [diff] section in hgrc.
author Augie Fackler <augie@google.com>
date Tue, 30 Aug 2016 15:55:07 -0400
parents 9a4ef1b18cae
children 6381a6dbc325
line wrap: on
line diff
--- a/tests/test-diff-unified.t	Tue Sep 13 22:57:57 2016 -0400
+++ b/tests/test-diff-unified.t	Tue Aug 30 15:55:07 2016 -0400
@@ -333,4 +333,20 @@
   +    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 ..