Re: git diff annoyance / feature request
From: Jeff King <hidden>
Date: 2016-06-15 22:51:55
On Thu, Aug 25, 2011 at 12:14:24PM -0700, Boaz Harrosh wrote:
git diff has this very annoying miss-fixture where it will state as hunk header the closest label instead of the function name. [...] I bet all this was just inherited from diff. Would it be accepted if I send a patch to fix it? What you guys think a goto label makes any sense at all?
Unless you tell git what type of content is in your file, it uses the same basic heuristics for finding a hunk-header line that diff does. Namely, the most recent line that starts with an alphabetic character, underscore, or dollar sign. If you want language-specific hunk headers, you can use gitattributes to tell git what's in your files. We already have a builtin C driver that will do what you want. You just need to do[1]: echo '*.c diff=cpp' >.gitattributes Note that it handles both C and C++, hence the name. See "git help gitattributes" for details (the section "Defining a custom hunk-header" is what you want). If your upstream (which looks like linux-2.6) doesn't want .gitattributes files in the repository, you can also put the entry into .git/info/attributes. -Peff [1] Since we have builtin funcname patterns for many types, we arguably could also have a builtin mapping of common extensions to diff drivers.