Paul Mackerras merged an updated version of gitk into his master branch. Gitk is a git repository browser. New features include improve searching, "thus you can now search for commits that modify certain files or directories, or commits that add/remove a given string, as well as searching for commits by commit message, author, committer or headline." Paul also noted two performance improvements, "gitk now uses a new graph layout algorithm, which means it doesn't have to generate the whole layout from top to bottom at startup time, making startup faster," and, "gitk caches the topology information used for the previous/next tag and branch information, making startup faster."
Linus Torvalds noted some display annoyances, but responded favorably to the performance improvements, "*huge* improvements. It is now really nice to start up gitk even on the full kernel history." He made some suggestions for additional improvements, then added, "but this has both the layout performance improvements and the fixes to only show selected files in the diff view by default, so I hope this gets merged into standard git soon.."
From: Paul Mackerras <paulus@...>
Subject: New features in gitk
Date: Oct 27, 9:39 pm 2007
I just pulled the dev branch of gitk into the master branch, so the
master branch now has the new features and improvements that I have
been working on, namely:
* The find and highlight functions have been combined into a single
function, and there is now a button for finding backwards as well as
a find forwards button. Thus you can now search for commits that
modify certain files or directories, or commits that add/remove a
given string, as well as searching for commits by commit message,
author, committer or headline.
* Combining the find and highlight functions freed up space that is
now used for a progress bar and a status window.
* There is now a font chooser accessible from the edit/preferences
window.
* Gitk now uses a new graph layout algorithm, which means it doesn't
have to generate the whole layout from top to bottom at startup
time, making startup faster. Gitk also uses a new style for drawing
short diagonal line segments that join an existing vertical line,
which is visually clearer when the segment crosses another line.
* Gitk caches the topology information used for the previous/next tag
and branch information, making startup faster.
Tk 8.5 is now in beta, meaning that some distros now have it
packaged. Gitk looks much nicer in Tk8.5 since it supports
anti-aliased fonts, so I strongly suggest that people install and use
Tk8.5 if possible.
Paul.
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Linus Torvalds <torvalds@...>
Subject: Re: New features in gitk
Date: Oct 28, 1:34 am 2007
On Sun, 28 Oct 2007, Paul Mackerras wrote:
>
> I just pulled the dev branch of gitk into the master branch, so the
> master branch now has the new features and improvements that I have
> been working on, namely:
*Huge* improvements. It is now really nice to start up gitk even on the
full kernel history.
However, that crazy green bar chasing back-and-forth int he "reading"
phase is really quite visually distracting. Maybe it looks better in
Tk8.5, but it does look pretty annoying in the version I have. Can you
tone that down a bit?
But this has both the layout performance improvements and the fixes to
only show selected files in the diff view by default, so I hope this gets
merged into standard git soon..
Linus
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Paul Mackerras <paulus@...>
Subject: Re: New features in gitk
Date: Oct 28, 3:11 am 2007
Linus Torvalds writes:
> However, that crazy green bar chasing back-and-forth int he "reading"
> phase is really quite visually distracting. Maybe it looks better in
> Tk8.5, but it does look pretty annoying in the version I have. Can you
> tone that down a bit?
Yeah. Actually what I'd like is to know how many commits git log is
going to give me, so that I can do a normal progress bar whose length
is proportional to commits_read / total_commits. With --topo-order
(or --date-order) it has to get to the last commit before it outputs
the first commit, doesn't it? So could it print the total number of
commits on a line by itself at the start of its output? (Presumably
it would need a --commit-count flag to enable that behaviour.)
Other than that, I could slow the progress bar down, or do a bar of
moving diagonal stripes, or something.
Paul.
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Linus Torvalds <torvalds@...>
Subject: Re: New features in gitk
Date: Oct 28, 12:50 pm 2007
On Sun, 28 Oct 2007, Paul Mackerras wrote:
>
> Yeah. Actually what I'd like is to know how many commits git log is
> going to give me
That's not known until later.
> With --topo-order (or --date-order) it has to get to the last commit
> before it outputs the first commit, doesn't it?
The cost is not generally in outputting the commits. The real cost is in
traversing them in the first place.
So yes, we could output the number of commits once we know it, but
generally, by that time, it's not an interesting number any more! You
might as well just read the list, because git is going to feed it to you
as fast as it can (which is plenty fast - you'll probably get hundreds of
megabytes of SHA1 values per second at that point).
So basically, by the time you start getting SHA1's from --topo-order, the
best thing you can do is just lay back and think of England. The *last*
thing you want to do is bother with any graphics and updates, because it's
just going to slow things down.
It's before you even start getting the SHA1's, _or_ if you don't use
"--date/topo-order" in the first place, that you want to have a "wait, I'm
thinking" thing. And at neither time do you know how long it's going to
be.
(And as mentioned many times earlier - if you can avoid topo-order and
date-order entirely, you are going to perform a million times better at
startup for the cold-cache case. Since you seem to be doing the graph
layout lazily now, maybe you could aim for that some day? It does mean
that you might - occasionally - end up having to add a commit to
*before* one you already laid out).
Linus
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html