gitk: Compute row numbers and order tokens lazily
commit9257d8f7616e20d76b2c04cea7cb2fcd7daf68bb
authorPaul Mackerras <paulus@samba.org>
Mon, 10 Dec 2007 23:45:38 +0000 (11 10:45 +1100)
committerPaul Mackerras <paulus@samba.org>
Mon, 10 Dec 2007 23:45:38 +0000 (11 10:45 +1100)
tree8bb758e6b1e53c8b02b0cbfcb601b199136fbe88
parentf78e7ab736467a0ae98695a8c661fe46fc93c50f
gitk: Compute row numbers and order tokens lazily

Instead of computing ordertok values and arc row numbers in
getcommitlines, this defers computing them until they are needed.
So getcommitlines no longer calls update_arcrows; instead it gets
called from rowofcommit and make_disporder.  Things that modify arcs
now call modify_arc instead of setting vtokmod/varcmod directly,
and modify_arc does the undolayout that used to be in update_arcrows.

Also, idcol and make_idlist now use a new ordertoken function instead
of the ordertok variable.  ordertoken uses ordertok as a cache, but
can itself compute the ordering tokens from scratch.  This means that
the ordering tokens (and hence the layout of the graph) is once again
determined by the topological ordering we put on the graph, not on the
order in which we see the commits from git log, which improves the
appearance of the graph.

Signed-off-by: Paul Mackerras <paulus@samba.org>
gitk