Re: [PATCH] Limited git-gui to displaying 5000 new files
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Aug 10, 2009, 15:38 UTC
- Message-ID
- <20090810153859.GT1033@spearce.org>
- In-Reply-To
- <4A4A77A6.1020905@lawrence.edu>
Dan Zwell <dzwell@gmail.com> wrote:
Show 6 quoted lines
> When there is a large number of new or modified files, > "display_all_files" takes a long time, and git-gui appears to > hang. Limit the display to 5000 files, by default. This number > is configurable as gui.maxfilesdisplayed. > > Show a warning if the list of files is truncated.
Show 7 quoted lines
> @@ -1713,7 +1717,18 @@ proc display_all_files {} {
> set file_lists($ui_index) [list]
> set file_lists($ui_workdir) [list]
>
> - foreach path [lsort [array names file_states]] {
> + set to_display [lsort [array names file_states]]
> + set display_limit $default_config(gui.maxfilesdisplayed)This should use [get_config gui.maxfilesdisplayed] so that the user can actually set this property in a configuration file and have git-gui honor it. Reading from $default_config means you are only looking at the hardcoded value you set in git-gui.sh.
> + if {[llength $to_display] > $display_limit} {
> + if {![info exists files_warning] || !$files_warning} {Wouldn't it be easier to just set files_warning to 0 at the start of the script, so that you don't need to do this info exists test?
> + set warning "Displaying only $display_limit of " > + append warning "[llength $to_display] files." > + info_popup [mc $warning]
This needs to be in the translated strings.
-- Shawn.