login
Header Space

 
 

Re: New features in gitk

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Paul Mackerras <paulus@...>
Cc: Linus Torvalds <torvalds@...>, <git@...>
Date: Friday, November 2, 2007 - 8:44 am

On 11/2/07, Paul Mackerras <paulus@samba.org> wrote:

I have tried to overcome --topo-order in qgit but I found it very
difficult, too much for me.

Lazily drawing the layout it doesn't mean that you lazy load the data
from git, indeed you load all the git-log output as soon as it
arrives.

And if the revisions arrive "in order", i.e. if revision A arrive
before revision B it means that A is NOT an ancestor of B, this is of
great help.

When drawing the graph assuming that the vector/list of the arrived
sha is already ordered greatly simplify the whole thing, if we relax
this hypothesis then a lot of work should be done before to draw a
graph chunk, essentially the GUI tool needs to walk the _entire_  list
and reorder it by itself _before_ to draw any graph chunk also if very
small.

So at the end you end up transferring the complete revision walk from
git-log to the GUI tool, and (this is the important thing) to be sure
graph is always correct you need to perform the walk _before_ drawing
any stuff.

The only possible _trick_ I was able to find is to optimistically draw
the graph chunk _assuming_ that it is ordered.

Then reorder the list in the background and finally check if the graph
is correct, if not redraw with correct data.

If the out of order revisions are rare you end up mimic a fast correct
drawing. If are not user will see some flickering at the end of the
load.

IMHO the above scheme is very complicated and fragile.

Just my two cents.

Marco
-
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
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
New features in gitk, Paul Mackerras, (Sat Oct 27, 9:39 pm)
Re: New features in gitk, Michele Ballabio, (Mon Oct 29, 10:04 am)
Re: New features in gitk, Han-Wen Nienhuys, (Mon Oct 29, 9:30 am)
Re: New features in gitk, Pierre Habouzit, (Sun Oct 28, 2:32 pm)
Re: New features in gitk, Paul Mackerras, (Sun Oct 28, 7:13 pm)
Re: New features in gitk, Pierre Habouzit, (Mon Oct 29, 2:24 am)
Re: New features in gitk, Pierre Habouzit, (Mon Oct 29, 2:20 am)
Re: New features in gitk, Jonathan del Strother, (Mon Oct 29, 4:31 am)
Re: New features in gitk, Mike Hommey, (Sun Oct 28, 2:38 pm)
Re: New features in gitk, Linus Torvalds, (Sun Oct 28, 1:34 am)
Re: New features in gitk, Paul Mackerras, (Sun Oct 28, 3:11 am)
Re: New features in gitk, Linus Torvalds, (Sun Oct 28, 12:50 pm)
Re: New features in gitk, Paul Mackerras, (Thu Nov 1, 7:37 am)
Re: New features in gitk, Linus Torvalds, (Thu Nov 1, 11:47 am)
Re: New features in gitk, Linus Torvalds, (Thu Nov 1, 12:21 pm)
Re: New features in gitk, Paul Mackerras, (Thu Nov 1, 6:00 am)
Re: New features in gitk, Linus Torvalds, (Thu Nov 1, 11:16 am)
Re: New features in gitk, Paul Mackerras, (Fri Nov 2, 6:19 am)
Re: New features in gitk, Linus Torvalds, (Fri Nov 2, 11:03 am)
Re: New features in gitk, Marco Costalba, (Fri Nov 2, 8:44 am)
Re: New features in gitk, Linus Torvalds, (Fri Nov 2, 11:42 am)
Re: New features in gitk, Johannes Schindelin, (Fri Nov 2, 2:17 pm)
Re: New features in gitk, Linus Torvalds, (Fri Nov 2, 2:16 pm)
[PATCH 0/2] History replay support, Linus Torvalds, (Fri Nov 2, 4:31 pm)
Re: [PATCH 0/2] History replay support, Linus Torvalds, (Fri Nov 2, 9:40 pm)
Re: [PATCH 0/2] History replay support, Paul Mackerras, (Sat Nov 3, 8:32 pm)
[PATCH 3/2] Enhance --early-output format, Linus Torvalds, (Sun Nov 4, 4:12 pm)
[PATCH 4/2] Fix parent rewriting in --early-output, Linus Torvalds, (Tue Nov 13, 12:58 am)
Re: [PATCH 4/2] Fix parent rewriting in --early-output, Paul Mackerras, (Tue Nov 13, 5:59 am)
Re: [PATCH 4/2] Fix parent rewriting in --early-output, Marco Costalba, (Fri Nov 16, 3:30 am)
Re: [PATCH 4/2] Fix parent rewriting in --early-output, Junio C Hamano, (Tue Nov 13, 1:43 am)
Re: [PATCH 4/2] Fix parent rewriting in --early-output, Shawn O. Pearce, (Tue Nov 13, 4:01 am)
Re: [PATCH 4/2] Fix parent rewriting in --early-output, Junio C Hamano, (Tue Nov 13, 4:24 am)
Re: [PATCH 4/2] Fix parent rewriting in --early-output, Linus Torvalds, (Tue Nov 13, 2:46 am)
Re: [PATCH 4/2] Fix parent rewriting in --early-output, Linus Torvalds, (Tue Nov 13, 3:16 am)
Re: [PATCH 4/2] Fix parent rewriting in --early-output, Junio C Hamano, (Tue Nov 13, 4:48 am)
Re: [PATCH 4/2] Fix parent rewriting in --early-output, Sven Verdoolaege, (Tue Nov 13, 3:53 am)
Re: [PATCH 3/2] Enhance --early-output format, Junio C Hamano, (Mon Nov 5, 4:24 pm)
Re: [PATCH 3/2] Enhance --early-output format, Linus Torvalds, (Mon Nov 5, 4:47 pm)
Re: [PATCH 3/2] Enhance --early-output format, Linus Torvalds, (Mon Nov 5, 5:22 pm)
Re: [PATCH 3/2] Enhance --early-output format, Linus Torvalds, (Mon Nov 5, 5:35 pm)
Re: [PATCH 0/2] History replay support, Marco Costalba, (Sat Nov 3, 3:56 am)
[PATCH 1/2] Simplify topo-sort logic, Linus Torvalds, (Fri Nov 2, 4:32 pm)
[PATCH 2/2] Support "history replay" for git log commands, Linus Torvalds, (Fri Nov 2, 4:35 pm)
Re: New features in gitk, Marco Costalba, (Fri Nov 2, 12:50 pm)
Re: New features in gitk, Steffen Prohaska, (Sun Oct 28, 3:36 am)
speck-geostationary