On Sun, Sep 28, 2008 at 04:06:53AM +0200, Matthieu Moy wrote: > This patch serie give an implementation of a "textconv" filter for > "git diff", that allows one to diff anything that can easily be > converted to text with just a few lines in ~/.gitconfig and > .gitattributes. > > The really cool thing in comparison with GIT_EXTERNAL_DIFF is that one > gets all the cool things of "git diff" (colors & cie) for free. Neat. I started on something like this quite a while ago, and have been meaning to clean it up for some time (and I somehow missed your other prototype, too). I agree that it matches my goals much better: the filters are easier to write, and you get the benefit of a nice colorized diff (or even --color-words!). We have one major difference in our approaches. In yours, there is a new "textconv" attribute that can be used. In mine, I subtly changed the meaning of the "diff=foo" attribute to be "use the diff driver named by diff.foo.*", and you would set diff.foo.textconv to your command. This is a bit simpler to implement, and it provides a better path forward for defining sets of diff tweaks. For example, one of the limitations of the current syntax is that you can't say "Choose automatically whether this is binary or text, but if it is text, use this hunk header." But with my scheme it is easy to do: in attributes: file diff=foo in config: [diff "foo"] xfuncname = "some regex" binary = auto Is there a particular reason you chose the route you did? -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html