diff options
author | Junio C Hamano <gitster@pobox.com> | 2007-07-29 22:53:33 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-07-29 22:53:33 -0700 |
commit | b8de7f764e1a9f6e8dfb587a6145906394fa607d (patch) | |
tree | 43c913e5455026cfa8d721e47663acebd01bf5df /git-gui/lib/database.tcl | |
parent | 89b2f19cb516249b8d9546bb1f3f46a1ec5b3242 (diff) | |
parent | 84f67537b13bf0a959b1cad50b0d490071dc921a (diff) | |
download | git-b8de7f764e1a9f6e8dfb587a6145906394fa607d.tar.gz |
Merge branch 'master' of git://repo.or.cz/git-gui
* 'master' of git://repo.or.cz/git-gui: (50 commits)
git-gui: Minor refactoring of merge command line in merge support
git-gui: Use more modern looking icons in the tree browser
git-gui: Don't offer to stage hunks from untracked files
git-gui: Make sure remotes are loaded when picking revisions
git-gui: Use progress bar while resetting/aborting files
git-gui: Honor core.excludesfile when listing extra files
git-gui: Unify wording to say "to stage" instead of "to add"
git-gui: Don't kill modified commit message buffer with merge templates
git-gui: Remove usernames from absolute SSH urls during merging
git-gui: Format tracking branch merges as though they were pulls
git-gui: Cleanup bindings within merge dialog
git-gui: Replace merge dialog with our revision picker widget
git-gui: Show ref last update times in revision chooser tooltips
git-gui: Display commit/tag/remote info in tooltip of revision picker
git-gui: Save remote urls obtained from config/remotes setup
git-gui: Avoid unnecessary symbolic-ref call during checkout
git-gui: Refactor current branch menu items to make i18n easier
git-gui: Refactor diff popup into a procedure to ease i18n work
git-gui: Paper bag fix quitting crash after commit
git-gui: Clarify meaning of add tracked menu option
...
Diffstat (limited to 'git-gui/lib/database.tcl')
-rw-r--r-- | git-gui/lib/database.tcl | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/git-gui/lib/database.tcl b/git-gui/lib/database.tcl index 87c815d7ac..0657cc2245 100644 --- a/git-gui/lib/database.tcl +++ b/git-gui/lib/database.tcl @@ -87,3 +87,30 @@ proc do_fsck_objects {} { lappend cmd --strict console::exec $w $cmd } + +proc hint_gc {} { + set object_limit 8 + if {[is_Windows]} { + set object_limit 1 + } + + set objects_current [llength [glob \ + -directory [gitdir objects 42] \ + -nocomplain \ + -tails \ + -- \ + *]] + + if {$objects_current >= $object_limit} { + set objects_current [expr {$objects_current * 256}] + set object_limit [expr {$object_limit * 256}] + if {[ask_popup \ + "This repository currently has approximately $objects_current loose objects. + +To maintain optimal performance it is strongly recommended that you compress the database when more than $object_limit loose objects exist. + +Compress the database now?"] eq yes} { + do_gc + } + } +} |