threads / discuss / 20971

Direct ancestors from commit to HEAD

Subject: Direct ancestors from commit to HEAD

## tl;dr

3 messages between Sep 16, 2009 and Sep 16, 2009.

replies: 2people: 2as markdown or json

Gonsolo· Sep 16, 2009, 14:01 UTC · lore

Is there a way to see only the direct line of (merge) ancestors from patch to HEAD? Something like:

commit 0cb583fd2862f19ea88b02eb307d11c09e51e2f8
Merge: 723e9db... a2d1056...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Sep 15 10:01:16 2009 -0700
	Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
commit 88512935a24305fea7aecc9ba4d675869e97fc2a
Merge: 8a62bab... 6b26dea...
Author: David S. Miller <davem@davemloft.net>
Date:   Fri Aug 14 12:27:19 2009 -0700
	Merge branch 'master' of 
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
commit edd7fc7003f31da48d06e215a93ea966a22c2a03
Author: Nick Kossifidis <mick@madwifi-project.org>
Date:   Mon Aug 10 03:29:02 2009 +0300
     ath5k: Wakeup fixes

Here I can see exactly how the ath5k patch came to mainline and since when it is there.

Jakub Narebski· Sep 16, 2009, 14:26 UTC · re: Gonsolo · lore

Re: Direct ancestors from commit to HEAD

Gonsolo <gonsolo@gmail.com> writes:
Show 27 quoted lines
> Is there a way to see only the direct line of (merge) ancestors from
> patch to HEAD? Something like:
> 
> commit 0cb583fd2862f19ea88b02eb307d11c09e51e2f8
> Merge: 723e9db... a2d1056...
> Author: Linus Torvalds <torvalds@linux-foundation.org>
> Date:   Tue Sep 15 10:01:16 2009 -0700
> 
> 	Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
> 
> commit 88512935a24305fea7aecc9ba4d675869e97fc2a
> Merge: 8a62bab... 6b26dea...
> Author: David S. Miller <davem@davemloft.net>
> Date:   Fri Aug 14 12:27:19 2009 -0700
> 
> 	Merge branch 'master' of
> git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
> 
> commit edd7fc7003f31da48d06e215a93ea966a22c2a03
> Author: Nick Kossifidis <mick@madwifi-project.org>
> Date:   Mon Aug 10 03:29:02 2009 +0300
> 
>      ath5k: Wakeup fixes
> 
> 
> Here I can see exactly how the ath5k patch came to mainline and since
> when it is there.

I don't know whether --first-parent or --simplify-by-decoration, or perhaps --dense is what you want (you can also use --graph for better visualization).

Or use git-show-branch... :-)
-- 
Jakub Narebski
Poland
ShadeHawk on #git
Gonsolo· Sep 16, 2009, 15:10 UTC · re: Jakub Narebski · lore

Re: Direct ancestors from commit to HEAD

> I don't know whether --first-parent or --simplify-by-decoration, or
> perhaps --dense is what you want (you can also use --graph for better
> visualization).
Thank you. I think
git log --topo-order --dense --merges firstmerge..HEAD

comes very near. I still have to use "git log --topo-order", find the commit of interest, and search upwards for the next merge that is used as firstmerge above. Unfortunately there are many merges in the net branch but it basically does the job.

An example:
1. git log --topo-order, search for "Wakeup fixes" gives commit edd7fc.
2. Search backward for "^Merge" gives commit a8519d.
3. git log --topo-order --dense --merges edd7fc.., search for a8519d.
4. A search backwards for Linus gives you the merge into mainline: d7e966.

This commit is basically what I wanted to know. Even nicer would be a three-commit-line only consisting of the merge into wireless, the merge into net and the merge into mainline.

> Or use git-show-branch... :-)

I don't think I can use that since I have only a master branch sitting around.

← back to recent threads