Tim Chase <git@xxxxxxxxxxxxxxxxx> writes: > On 08/21/12 10:22, Thomas Rast wrote: >> Tim Chase <git@xxxxxxxxxxxxxxxxx> writes: >> >>> diff.{type}.xfuncname seems to start searching backwards in >>> from the beginning of the hunk, not the first differing line. >> [...] >>> @@ -4,4 +4,5 @@ int call_me(int maybe) >>> >>> int main() >>> { >>> + return 0; >>> } >>> >>> misleadingly suggesting that the change occurred in the call_me() >>> function, rather than in main() >> >> I think that's intentional, and matches what 'diff -p' does. It gives >> you the context before the hunk. After all, if a new function starts in >> the leading context lines, you can see that in the usual diff data. Correct. It is about "give the user _more_ hint/clue on the context of the hunk", in addition to what the user can see in the pre-context of the hunk, so it is pointless to hoist "int main()" there. > ... It just makes it hard for me to gather some stats on the > functions that changed, and requires that I look in more than one > place (both in the header, and in the leading context) rather than > having a single authoritative place to grep. The right way to answer "which functions were touched?" question is to ignore what you see on the hunk header "@@ .. @@" lines and only look at the patch text, running "git diff" with larger number of context lines as necessary. If you have a large patch hunk that adds or removes two or more new functions, you would have to look at the patch text _anyway_ to learn about these two or more names---they cannot possibly both appear on the hunk header lines, so looking at the context hint there is pointless for the purpose for which you are using "diff" output. -- 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