summaryrefslogtreecommitdiff
path: root/git-gui/lib/database.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'git-gui/lib/database.tcl')
-rw-r--r--git-gui/lib/database.tcl43
1 files changed, 21 insertions, 22 deletions
diff --git a/git-gui/lib/database.tcl b/git-gui/lib/database.tcl
index a18ac8b430..85783081e0 100644
--- a/git-gui/lib/database.tcl
+++ b/git-gui/lib/database.tcl
@@ -2,6 +2,7 @@
# Copyright (C) 2006, 2007 Shawn Pearce
proc do_stats {} {
+ global use_ttk NS
set fd [git_read count-objects -v]
while {[gets $fd line] > 0} {
if {[regexp {^([^:]+): (\d+)$} $line _ name value]} {
@@ -21,24 +22,22 @@ proc do_stats {} {
}
set w .stats_view
- toplevel $w
+ Dialog $w
+ wm withdraw $w
wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
- label $w.header -text [mc "Database Statistics"]
- pack $w.header -side top -fill x
-
- frame $w.buttons -border 1
- button $w.buttons.close -text [mc Close] \
+ ${NS}::frame $w.buttons
+ ${NS}::button $w.buttons.close -text [mc Close] \
-default active \
-command [list destroy $w]
- button $w.buttons.gc -text [mc "Compress Database"] \
+ ${NS}::button $w.buttons.gc -text [mc "Compress Database"] \
-default normal \
-command "destroy $w;do_gc"
pack $w.buttons.close -side right
pack $w.buttons.gc -side left
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
- frame $w.stat -borderwidth 1 -relief solid
+ ${NS}::labelframe $w.stat -text [mc "Database Statistics"]
foreach s {
{count {mc "Number of loose objects"}}
{size {mc "Disk space used by loose objects"} { KiB}}
@@ -55,8 +54,8 @@ proc do_stats {} {
set value "$value[lindex $s 2]"
}
- label $w.stat.l_$name -text "$label:" -anchor w
- label $w.stat.v_$name -text $value -anchor w
+ ${NS}::label $w.stat.l_$name -text [mc "%s:" $label] -anchor w
+ ${NS}::label $w.stat.v_$name -text $value -anchor w
grid $w.stat.l_$name $w.stat.v_$name -sticky we -padx {0 5}
}
pack $w.stat -pady 10 -padx 10
@@ -64,7 +63,8 @@ proc do_stats {} {
bind $w <Visibility> "grab $w; focus $w.buttons.close"
bind $w <Key-Escape> [list destroy $w]
bind $w <Key-Return> [list destroy $w]
- wm title $w [append "[appname] ([reponame]): " [mc "Database Statistics"]]
+ wm title $w [mc "%s (%s): Database Statistics" [appname] [reponame]]
+ wm deiconify $w
tkwait window $w
}
@@ -89,27 +89,26 @@ proc do_fsck_objects {} {
}
proc hint_gc {} {
- set object_limit 8
+ set ndirs 1
+ set limit 8
if {[is_Windows]} {
- set object_limit 1
+ set ndirs 4
+ set limit 1
}
- set objects_current [llength [glob \
- -directory [gitdir objects 42] \
+ set count [llength [glob \
-nocomplain \
- -tails \
-- \
- *]]
+ [gitdir objects 4\[0-[expr {$ndirs-1}]\]/*]]]
- if {$objects_current >= $object_limit} {
- set objects_current [expr {$objects_current * 250}]
- set object_limit [expr {$object_limit * 250}]
+ if {$count >= $limit * $ndirs} {
+ set objects_current [expr {$count * 256/$ndirs}]
if {[ask_popup \
[mc "This repository currently has approximately %i loose objects.
-To maintain optimal performance it is strongly recommended that you compress the database when more than %i loose objects exist.
+To maintain optimal performance it is strongly recommended that you compress the database.
-Compress the database now?" $objects_current $object_limit]] eq yes} {
+Compress the database now?" $objects_current]] eq yes} {
do_gc
}
}