Re: Listing changed identifiers with git log/diff
- From
- Konstantin Kharlamov <hi-angel@yandex.ru>
- Date
- Jun 30, 2020, 07:00 UTC
- Message-ID
- <3e6b9431b7caa9db0ebbaea292897f8bcdcf8148.camel@yandex.ru>
- In-Reply-To
- <3CA60EC2-13E9-4A1A-9A89-066CFF9CA36E@gmail.com>
On Mon, 2020-06-29 at 15:24 -0400, Philippe Blain wrote:
Show 20 quoted lines
> Hi Konstantin, > > > Le 29 juin 2020 à 06:18, Konstantin Kharlamov <hi-angel@yandex.ru> a écrit : > > > > Git is able to recognise functions/variables changed, and even allows to see > > the history of such identifier with `-L` option. > > > > But I couldn't find: how does one get a list of such identifiers in `git > > log` or `git diff`? This would be particularly useful for projects with odd > > requirements to have a list of identifiers changed in the commit message. > > > > FTR, the diff text after the "@@…@@" does not cut it because for example if > > the diff is at the beginning of the function, then it would have a name of > > the previous function, i.e. not the one modified. As a hack, I tried passing > > an option `-U0`, but that didn't help, for one-line identifiers it still > > shows the name of the prev. identifier. > > As far as I'm aware this is a limitation of the diff machinery. > I agree with you that it would be really nice if it could work as you > describe...
I agree, the hack I tried might be a limitation of diff. But since git per se knows identifiers changed (as it can track changes to them by passing `-L` option, like `git log -L :function_foo:src/foo.c`), shouldn't there be some other way to achieve that?