# Direct ancestors from commit to HEAD

3 messages from 2009-09-16 to 2009-09-16. Participants: Gonsolo, Jakub Narebski.
Thread: https://gitlist.dev/t/20971

## Gonsolo, 2009-09-16 14:01

Subject: Direct ancestors from commit to HEAD
Message-ID: <4AB0EFC0.8020005@googlemail.com>
URL: https://gitlist.dev/e/4AB0EFC0.8020005%40googlemail.com

```
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, 2009-09-16 14:26

Subject: Re: Direct ancestors from commit to HEAD
Message-ID: <m3vdjj2ceq.fsf@localhost.localdomain>
URL: https://gitlist.dev/e/m3vdjj2ceq.fsf%40localhost.localdomain
In-Reply-To: <4AB0EFC0.8020005@googlemail.com>

```
Gonsolo <gonsolo@gmail.com> writes:

> 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, 2009-09-16 15:10

Subject: Re: Direct ancestors from commit to HEAD
Message-ID: <4AB0FFE0.9040106@googlemail.com>
URL: https://gitlist.dev/e/4AB0FFE0.9040106%40googlemail.com
In-Reply-To: <m3vdjj2ceq.fsf@localhost.localdomain>

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

```
