Re: Make "gitk" work better with dense revlists
From: Linus Torvalds <torvalds@osdl.org>
Date: 2016-06-15 22:42:09
On Thu, 27 Oct 2005, Paul Mackerras wrote:
Linus Torvalds writes:quoted
So this makes gitk just show the diff of _that_ commit.Committed and pushed out, but ...
Btw, the "show diff for commit" fails for the root case - you never see the initial commit. That is definitely correct for big archives that started out of nothing (due to being imported), but it's sad/wrong for something like git itself, and it'a usually wrong when using --dense and a filename, since then the diff is often smaller (ie it might be a simple rename).
quoted
Also, having now tested the previous "handle root commit in the TREECHANGED" logic a bit more, I think it's (a) stable and (b) the right thing to do. Sign me off on that one too.What is that about?
That's just me improving how --dense works wrt root commits. Junio already
merged it ("git-rev-list: fix --dense flag")
I'm hoping to get back to gitk hacking RSN - I've been going flat out on the ppc32/ppc64 merge. Thanks for doing the --dense thing; I was thinking about doing something like that inside gitk but doing it in git-rev-list is better.
A _lot_ better. You'd have been totally screwed performance-wise trying to do it in tcl/tk and executing git-diff-tree for everything.
It does mean that I now want to be able to get gitk to contract the view to just a given set of files or directories and then expand back to the whole tree view, which means running git-rev-list multiple times, which gitk can't do at the moment...
Yes. And please also give the option to contract the diffs to a set of files (I think that should be independently controlled, although perhaps with some way to set them both at the same time). Linus