git-commit-vandalism/lib
Shawn O. Pearce 7618e6b1c1 git-gui: Enhance choose_rev to handle hundreds of branches
One of my production repositories has hundreds of remote tracking
branches.  Trying to navigate these through a popup menu is just
not possible.  The list is far larger than the screen and it does
not scroll fast enough to efficiently select a branch name when
trying to create a branch or delete a branch.

This is major rewrite of the revision chooser mega-widget.  We
now use a single listbox for all three major types of named refs
(heads, tracking branches, tags) and a radio button group to pick
which of those namespaces should be shown in the listbox.  A filter
field is shown to the right allowing the end-user to key in a glob
specification to filter the list they are viewing.  The filter is
always taken as substring, so we assume * both starts and ends the
pattern the user wanted but otherwise treat it as a glob pattern.

This new picker works out really nicely.  What used to take me at
least a minute to find and select a branch now takes mere seconds.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2007-07-08 21:12:52 -04:00
..
blame.tcl Merge branch 'maint' 2007-07-08 21:10:03 -04:00
branch_create.tcl git-gui: Enhance choose_rev to handle hundreds of branches 2007-07-08 21:12:52 -04:00
branch_delete.tcl git-gui: Enhance choose_rev to handle hundreds of branches 2007-07-08 21:12:52 -04:00
branch_rename.tcl Merge branch 'maint' 2007-06-11 23:58:11 -04:00
branch.tcl git-gui: Optimize for newstyle refs/remotes layout 2007-07-08 21:12:48 -04:00
browser.tcl git-gui: Save geometry before the window layout is damaged 2007-06-11 23:52:43 -04:00
choose_rev.tcl git-gui: Enhance choose_rev to handle hundreds of branches 2007-07-08 21:12:52 -04:00
class.tcl git-gui: Teach class system to support [$this cmd] syntax 2007-07-08 21:12:45 -04:00
commit.tcl git-gui: Honor rerere.enabled configuration option 2007-07-08 17:41:24 -04:00
console.tcl git-gui: Save geometry before the window layout is damaged 2007-06-11 23:52:43 -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: Unlock the index when cancelling merge dialog 2007-07-04 02:29:32 -04:00
option.tcl Merge branch 'maint' 2007-06-11 02:14:21 -04:00
remote_branch_delete.tcl git-gui: Correct resizing of remote branch delete dialog 2007-07-04 23:16:20 -04:00
remote.tcl git-gui: Maintain remote and source ref for tracking branches 2007-07-08 21:12:49 -04:00
shortcut.tcl git-gui: Ensure windows shortcuts always have .bat extension 2007-07-06 04:02:18 -04:00
transport.tcl git-gui: GUI support for running 'git remote prune <name>' 2007-05-28 17:50:40 -04:00