From: Tim Chase Date: Tue, 21 Aug 2012 15:42:13 GMT Subject: Re: misleading diff-hunk header Message-ID: <5033AC55.8080405@tim.thechases.com> In-Reply-To: <87a9xoi82i.fsf@thomas.inf.ethz.ch> On 08/21/12 10:22, Thomas Rast wrote: > Tim Chase 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. Okay...I tested "diff -p" and can't argue (much) with historical adherence. 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. Then again, "diff -p" only seems to support C functions, while git supports bibtex, cpp, html, java, objc, pascal, php, python, ruby, and tex out-of-the-box, with the option to build your own function-finder, so pure adherence to history gets a little muddied. Thanks for your thoughts, -tkc