Thanks Samuel, So, the question is, what is causing this problem on my system? Anyone have an idea to help diagnose this problem? On Wed, Feb 8, 2017 at 3:24 PM, Samuel Lijin <sxlijin@xxxxxxxxx> wrote: > On Windows 7, it works for me in both CMD and Git Bash: > > $ git --version > git version 2.11.0.windows.3 > > $ git diff HEAD^ --word-diff > diff --git a/test.natvis b/test.natvis > index 93396ad..1233b8c 100644 > --- a/test.natvis > +++ b/test.natvis > @@ -18,6 +18,7 @@ test > > > <!-- Non-blank line --> > {+<Item Name="added var">added_var</Item>+} > > > <Item Name="var2">var2</Item> > > On Wed, Feb 8, 2017 at 12:37 PM, René Scharfe <l.s.r@xxxxxx> wrote: >> Am 08.02.2017 um 18:11 schrieb Jack Adrian Zappa: >>> Thanks Rene, but you seem to have missed the point. NOTHING is >>> working. No matter what I put there, it doesn't seem to get matched. >> >> I'm not so sure about that. With your example I get this diff without >> setting diff.natvis.xfuncname: >> >> diff --git a/a.natvis b/a.natvis >> index 7f9bdf5..bc3c090 100644 >> --- a/a.natvis >> +++ b/a.natvis >> @@ -19,7 +19,7 @@ xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> >> >> >> <!-- Non-blank line --> >> - <Item Name="added var">added_var</Item> >> + <Item Name="added var">added_vars</Item> >> >> >> <Item Name="var2">var2</Item> >> >> Note the XML namespace in the hunk header. It's put there by the >> default rule because "xmlns" starts at the beginning of the line. Your >> diff has nothing there, which means the default rule is not used, i.e. >> your user-defined rule is in effect. >> >> Come to think of it, this line break in the middle of the AutoVisualizer >> tab might have been added by your email client unintentionally, so that >> we use different test files, which then of course results in different >> diffs. Is that the case? >> >> Anyway, if I run the following two commands: >> >> $ git config diff.natvis.xfuncname "^[\t ]*<Type[\t ]+Name=\"([^\"]+)\".*$" >> $ echo '*.natvis diff=natvis' >.gitattributes >> >> ... then I get this, both on Linux (git version 2.11.1) and on Windows >> (git version 2.11.1.windows.1): >> >> diff --git a/a.natvis b/a.natvis >> index 7f9bdf5..bc3c090 100644 >> --- a/a.natvis >> +++ b/a.natvis >> @@ -19,7 +19,7 @@ test >> >> >> <!-- Non-blank line --> >> - <Item Name="added var">added_var</Item> >> + <Item Name="added var">added_vars</Item> >> >> >> <Item Name="var2">var2</Item> >> >>> Just to be sure, I tested your regex and again it didn't work. >> >> At this point I'm out of ideas, sorry. :( The only way I was able to >> break it was due to mistyping the extension as "netvis" several times >> for some reason. >> >> René