# How to restrict gitk to show only branch/merge commits?

3 messages from 2009-05-06 to 2009-05-06. Participants: Josef Wolf, Andreas Ericsson, Jakub Narebski.
Thread: https://gitlist.dev/t/19195

## Josef Wolf, 2009-05-06 07:20

Subject: How to restrict gitk to show only branch/merge commits?
Message-ID: <20090506072053.GL15420@raven.wolf.lan>
URL: https://gitlist.dev/e/20090506072053.GL15420%40raven.wolf.lan

```
Hello,

I would like gitk to show me only the heads, branch-points and
merge-points of branches.

For example, given a history like this:

                   d...e--F--g...h--H
                  /        \
 a1--a2...an--b--C          N--o...p--P
                  \        /
                   i...j--K--l...m--M

I would like to see only

 - a1     because it has no parent
 - C,F,K  because they are reachable from multiple heads
 - N      because it has multiple parents
 - H,M,P  because they are heads

Ideally, there would be a possibility to add some "context" to the
list of commits to be shown: with $context==1, all the commits shown
in the above history would be shown, but the commits indicated by
the triple-dots would be omitted.

The reason is that I have some repositories with several really long
linear history.  It is hard to get a global overview about the branch
history if you have to scroll constantly.

Is something like that possible with gitk?

```

## Andreas Ericsson, 2009-05-06 07:42

Subject: Re: How to restrict gitk to show only branch/merge commits?
Message-ID: <4A013F6A.5010003@op5.se>
URL: https://gitlist.dev/e/4A013F6A.5010003%40op5.se
In-Reply-To: <20090506072053.GL15420@raven.wolf.lan>

```
Josef Wolf wrote:
> Hello,
> 
> I would like gitk to show me only the heads, branch-points and
> merge-points of branches.
> 
> For example, given a history like this:
> 
>                    d...e--F--g...h--H
>                   /        \
>  a1--a2...an--b--C          N--o...p--P
>                   \        /
>                    i...j--K--l...m--M
> 
> I would like to see only
> 
>  - a1     because it has no parent
>  - C,F,K  because they are reachable from multiple heads
>  - N      because it has multiple parents
>  - H,M,P  because they are heads
> 
> Ideally, there would be a possibility to add some "context" to the
> list of commits to be shown: with $context==1, all the commits shown
> in the above history would be shown, but the commits indicated by
> the triple-dots would be omitted.
> 
> The reason is that I have some repositories with several really long
> linear history.  It is hard to get a global overview about the branch
> history if you have to scroll constantly.
> 
> Is something like that possible with gitk?

Not today, no. I'm not sure how hard it would be to add, and as I'm a
tcl-analphabet the chances of successfully implementing it marginally
increases if I don't work on it.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Register now for Nordic Meet on Nagios, June 3-4 in Stockholm
 http://nordicmeetonnagios.op5.org/

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.

```

## Jakub Narebski, 2009-05-06 07:51

Subject: Re: How to restrict gitk to show only branch/merge commits?
Message-ID: <m37i0uoej7.fsf@localhost.localdomain>
URL: https://gitlist.dev/e/m37i0uoej7.fsf%40localhost.localdomain
In-Reply-To: <20090506072053.GL15420@raven.wolf.lan>

```
Josef Wolf <jw@raven.inka.de> writes:

> I would like gitk to show me only the heads, branch-points and
> merge-points of branches.
> 
> For example, given a history like this:
> 
>                    d...e--F--g...h--H
>                   /        \
>  a1--a2...an--b--C          N--o...p--P
>                   \        /
>                    i...j--K--l...m--M
> 
> I would like to see only
> 
>  - a1     because it has no parent
>  - C,F,K  because they are reachable from multiple heads
>  - N      because it has multiple parents
>  - H,M,P  because they are heads
> 
> Ideally, there would be a possibility to add some "context" to the
> list of commits to be shown: with $context==1, all the commits shown
> in the above history would be shown, but the commits indicated by
> the triple-dots would be omitted.
> 
> The reason is that I have some repositories with several really long
> linear history.  It is hard to get a global overview about the branch
> history if you have to scroll constantly.
> 
> Is something like that possible with gitk?

I am not sure if it would give you exactly what you want, but if I
understand correctly gitk accepts arguments for git-log (and you can
set them somewhere in options, too).  Take a look at section "History
Simplification" in git-log/git-rev-list manpage, in particular at
option '--simplify-by-decoration' there.

-- 
Jakub Narebski
Poland
ShadeHawk on #git

```
