git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / Atom feed
* Listing changed identifiers with git log/diff
@ 2020-06-29 10:18 Konstantin Kharlamov
  2020-06-29 19:24 ` Philippe Blain
  0 siblings, 1 reply; 3+ messages in thread
From: Konstantin Kharlamov @ 2020-06-29 10:18 UTC (permalink / raw)
  To: git

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.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Listing changed identifiers with git log/diff
  2020-06-29 10:18 Listing changed identifiers with git log/diff Konstantin Kharlamov
@ 2020-06-29 19:24 ` Philippe Blain
  2020-06-30  7:00   ` Konstantin Kharlamov
  0 siblings, 1 reply; 3+ messages in thread
From: Philippe Blain @ 2020-06-29 19:24 UTC (permalink / raw)
  To: Konstantin Kharlamov; +Cc: Git List

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...

Cheers,

Philippe.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Listing changed identifiers with git log/diff
  2020-06-29 19:24 ` Philippe Blain
@ 2020-06-30  7:00   ` Konstantin Kharlamov
  0 siblings, 0 replies; 3+ messages in thread
From: Konstantin Kharlamov @ 2020-06-30  7:00 UTC (permalink / raw)
  To: Philippe Blain; +Cc: Git List

On Mon, 2020-06-29 at 15:24 -0400, Philippe Blain wrote:
> 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?


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-29 10:18 Listing changed identifiers with git log/diff Konstantin Kharlamov
2020-06-29 19:24 ` Philippe Blain
2020-06-30  7:00   ` Konstantin Kharlamov

git@vger.kernel.org list mirror (unofficial, one of many)

Archives are clonable:
	git clone --mirror https://public-inbox.org/git
	git clone --mirror http://ou63pmih66umazou.onion/git
	git clone --mirror http://czquwvybam4bgbro.onion/git
	git clone --mirror http://hjrcffqmbrq6wope.onion/git

Example config snippet for mirrors

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.version-control.git
	nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git
	nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git
	nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git
	nntp://news.gmane.io/gmane.comp.version-control.git

 note: .onion URLs require Tor: https://www.torproject.org/

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git