git-gui: Display a progress bar during blame annotation gathering
authorShawn O. Pearce <spearce@spearce.org>
Fri, 1 Jun 2007 22:29:20 +0000 (18:29 -0400)
committerShawn O. Pearce <spearce@spearce.org>
Wed, 6 Jun 2007 05:26:47 +0000 (01:26 -0400)
commit982cf98fa47b8db890b84febda325e461f8a407d
tree4ca8c12322f54a6b5f436fb60a72c1aaee26c000
parentd0b741dc08d1c036e0fbf68c72dda02545c39b85
git-gui: Display a progress bar during blame annotation gathering

Computing the blame records for a large file with a long project
history can take git a while to run; traditionally we have shown
a little meter in the status area of our blame viewer that lets
the user know how many lines have been finished, and how far we
are through the process.

Usually such progress indicators are drawn with a little progress
bar in the window, where the bar shows how much has been completed
and hides itself when the process is complete.  I'm using a very
simple hack to do that: draw a canvas with a filled rectangle.

Of course the time remaining has absolutely no relationship to the
progress meter.  It could take very little time for git-blame to get
the first 90% of the file, and then it could take many times that to
get the remaining 10%.  So the progress meter doesn't really have any
sort of assurances that it relates to the true progress of the work.
But in practice on some ugly history it does seem to hold a reasonable
indicator to the completion status.  Besides, its amusing to watch and
that keeps the user from realizing git is being somewhat slow.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
lib/blame.tcl