Re: Regarding gitk
- From
Paul Mackerras <paulus@samba.org>
- Date
- May 14, 2005, 07:47 UTC
- Message-ID
- <17029.44307.356844.438027@cargo.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.
Show 5 quoted lines
> 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.