Re: Understanding and improving --word-diff
From: Wincent Colaiuta <hidden>
Date: 2016-06-15 22:49:59
On 08/11/2010, at 16:16, Matthijs Kooijman wrote:
Hi folks, I recently discovered --word-diff (or rather, --color-words and found --word-diff when I started to hack on the git master version) and I had hoped it would make the unified diffs generated by git-diff more readable.
[snip]
Inexact output -------------- Secondly, the --word-diff output currently never displays any changes to the non-word (whitespace) parts of a file. This makes sense for the LaTeX case, but sometimes you might want to get exact diff output instead. At first glance this seems possible by specifiying a word-regex of "." or something similar (i.e., make sure that the word regex matches everything). But this is problematic for newlines. The documentation states that stuff gets silently ignored if a newline ends up inside a word. For the --word-diff=color format, this is probably a fixed limitation of the otput format: you can't give a color to a newline (or a space, for that matter).
[snip]
Porcelain format ---------------- Lastly, the "porcelain" word-diff format seems a bit weird to me. Is the format specified somewhere, or are there any programs that use it currently? I couldn't find any users inside the git.git tree itself? Looking at the format itself, it's a bit unclear to me what the ~ lines mean exactly. Commit 882749, which introduced the format says the mean "newlines in the input", but I'm not sure if this means the old file, new file or both.
I posted along similar lines back in September: http://article.gmane.org/gmane.comp.version-control.git/156375 I found I couldn't really use the porcelain format due to information loss and ended up having to roll my own, parse the normal diff output and using that. Cheers, Wincent