git/lib
Shawn O. Pearce 2f85b7e4b4 git-gui: Switch internal blame structure to Tcl lists
The Tcl list datatype is significantly faster to work with than
the array type, especially if our indexes are a consecutive set
of numbers, like say line numbers in a file.

This rather large change reorganizes the internal data structure
of the blame viewer to use a proper Tcl list for the annotation
information about a line.  Each line is given its own list within
the larger line_data list, where the indexes correspond to various
facts about that particular line.

The interface does seem to be more responsive this way, with less
time required by Tcl to process blame, and to switch to another
version of the same file.  It could just be a placebo effect, but
either way most Tcl experts perfer lists for this type of work over
arrays.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2007-06-06 01:26:50 -04:00
..
blame.tcl git-gui: Switch internal blame structure to Tcl lists 2007-06-06 01:26:50 -04:00
branch.tcl git-gui: Allow creating a branch when none exists 2007-05-30 19:34:40 -04:00
browser.tcl git-gui: Convert blame to the "class" way of doing things 2007-05-08 21:38:55 -04:00
class.tcl git-gui: Don't attempt to inline array reads in methods 2007-05-08 21:38:54 -04:00
commit.tcl git-gui: Refactor into multiple files to save my sanity 2007-05-07 23:35:48 -04:00
console.tcl git-gui: Convert browser, console to "class" format 2007-05-08 21:38:54 -04:00
database.tcl git-gui: Convert browser, console to "class" format 2007-05-08 21:38:54 -04:00
diff.tcl git-gui: Allow as few as 0 lines of diff context 2007-05-31 23:32:54 -04:00
error.tcl git-gui: Refactor into multiple files to save my sanity 2007-05-07 23:35:48 -04:00
index.tcl git-gui: Refactor into multiple files to save my sanity 2007-05-07 23:35:48 -04:00
merge.tcl git-gui: Convert browser, console to "class" format 2007-05-08 21:38:54 -04:00
option.tcl git-gui: Allow as few as 0 lines of diff context 2007-05-31 23:32:54 -04:00
remote.tcl git-gui: Refactor into multiple files to save my sanity 2007-05-07 23:35:48 -04:00
shortcut.tcl git-gui: Refactor into multiple files to save my sanity 2007-05-07 23:35:48 -04:00
transport.tcl git-gui: Move console procs into their own namespace 2007-05-07 23:35:50 -04:00