Subject: Q: how can i find the upstream merge point of a commit?

From: Ingo Molnar <[email-masked]>
Date: Wed, 8 Jun 2011 11:36:48 +0200

This might be a FAQ, but i couldn't find an elegant Git-ish answer 
for it, so please bear with my stupid question :-)

In an upstream Linux kernel Git repo, with linux-next as a remote 
present (but -git checked out), what is the way to find out when a 
particular commit was merged upstream?

So for example when was 189d3c4a94 merged upstream?

The proper Git answer would be:

  $ git describe --contains 189d3c4a94
  next-20080501~97

But the next-20080501 tag is useless, and i don't have linux-next as 
HEAD, it's only a remote.

Right now i have this imperfect hack instead:

  $ git log --pretty=oneline 189d3c4a94.. Makefile | tail -5

Which gives this answer:

  $ git log --pretty=oneline 189d3c4a94.. Makefile | tail -5
  b8291ad07a7f3b5b990900f0001198ac23ba893e Linux 2.6.26-rc3
  492c2e476eac010962850006c49df326919b284c Linux 2.6.26-rc2
  a95bcfac2b5f353f99c6a338d77eb5584ab35d83 kbuild: escape meta characters in regular expression in make TAGS
  2ddcca36c8bcfa251724fe342c8327451988be0d Linux 2.6.26-rc1
  90ebd878a5900839106664fae40a6cc83dbe86ab kbuild: fix vmlinux.o link

So i can see that this commit went upstream in the .26 merge window 
and was released in .26-rc1 for the first time.

This (ab)-uses the fact that the toplevel Makefile gets edited for 
every release by Linus, and it does not have many other changes.

But ... it would be much nicer if i could make 'git describe 
--contains' work better.

Any ideas?

Thanks,

	Ingo