# Regarding gitk

2 messages from 2005-05-13 to 2005-05-14. Participants: Tejun Heo, Paul Mackerras.
Thread: https://gitlist.dev/t/599

## Tejun Heo, 2005-05-13 05:19

Subject: Regarding gitk
Message-ID: <20050513051923.GA15116@htj.dyndns.org>
URL: https://gitlist.dev/e/20050513051923.GA15116%40htj.dyndns.org

```
 Hello, Paulus.

 First of all, thanks a lot for gitk.  I was working on something using
graphviz/pygtk to do about the same thing for a couple of weeks (and got
pretty far with it) but ditched it as gitk seemed much better.  I really
love how gitk shows the commit graph. :-)

 As I don't wanna ditch any more of my time, it would be great if you
let me know what you're currently working on, so that I can coordinate
with you.  Here are the things I have on mind.

* integrate two-way diff view w/ diff map into gitk from mgdiff.
* show the current cache and working files at the head of graph
* demand-load commits as the user scrolls down the graph

 I wrote a commit viewing utility (gitkdiff) modified from mgdiff two
weeks ago so I'm quite familiar with mgdiff source, and implemented
demand-loading of commits in my own project in python, but writing a
separate c utility with the same algorithm wouldn't take that much time.

 Thanks.

-- 
tejun

```

## Paul Mackerras, 2005-05-14 07:47

Subject: Re: Regarding gitk
Message-ID: <17029.44307.356844.438027@cargo.ozlabs.ibm.com>
URL: https://gitlist.dev/e/17029.44307.356844.438027%40cargo.ozlabs.ibm.com
In-Reply-To: <20050513051923.GA15116@htj.dyndns.org>

```
Hi Tejun,

>  First of all, thanks a lot for gitk.  I was working on something using
> graphviz/pygtk to do about the same thing for a couple of weeks (and got
> pretty far with it) but ditched it as gitk seemed much better.  I really
> love how gitk shows the commit graph. :-)

Yes, I was pleased with how it turned out.

>  As I don't wanna ditch any more of my time, it would be great if you
> let me know what you're currently working on, so that I can coordinate
> with you.  Here are the things I have on mind.
> 
> * integrate two-way diff view w/ diff map into gitk from mgdiff.

I guess mgdiff and dirdiff do very similar things, although dirdiff
can display the diffs between up to 5 trees (limited mainly by the
number of easily distinguishable colors between red and green).  Doing
3-way diffs is useful for most merges (diffing the output vs. the
inputs) and for diffing two arbitrary commits (diffing the two vs. the
nearest common ancestor).

I recently changed dirdiff to be able to diff git commits with each
other or the working directory, and I was intending to add a way to
invoke that from gitk.

> * show the current cache and working files at the head of graph

Interesting idea.  I had mostly been thinking of gitk in terms of the
way I use it, which is to help me follow what others are doing rather
than looking at what I have done.

> * demand-load commits as the user scrolls down the graph

It would be nice to at least be a bit asynchronous, so that the graph
is drawn as the commits are read, rather than having to wait for all
the commits are read before anything is drawn.  I need to hack
git-rev-tree, I guess.

>  I wrote a commit viewing utility (gitkdiff) modified from mgdiff two
> weeks ago so I'm quite familiar with mgdiff source, and implemented
> demand-loading of commits in my own project in python, but writing a
> separate c utility with the same algorithm wouldn't take that much time.

Does that algorithm let you say "commits reachable from A but not from
B" like git-rev-tree does?

Regards,
Paul.

```
