gitk: Add a cache for the topology info
commit5cd15b6b7f87dc61f729ad31a682ffc394560273
authorPaul Mackerras <paulus@samba.org>
Thu, 30 Aug 2007 11:54:17 +0000 (30 21:54 +1000)
committerPaul Mackerras <paulus@samba.org>
Thu, 30 Aug 2007 11:54:17 +0000 (30 21:54 +1000)
tree805c2a91330829dcbc9ca9ecdd2afc59b71e933b
parent6eaaccd12846c5957c3433c773ad60b8a4196045
gitk: Add a cache for the topology info

This adds code to write out the topology information used to determine
precedes/follows and branch information into a cache file (~3.5MB for
the kernel tree).  At startup we read the cache file and then do a
git rev-list to update it, which is fast because we exclude all commits
in the cache that have no children and commits reachable from them
(which amounts to everything in the cache).  If one of those commits
without children no longer exists, then git rev-list will give an error,
whereupon we throw away the cache and read in the whole tree again.

This gives a significant speedup in the startup time for gitk.

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