diff options
Diffstat (limited to 'third_party/git/git-gui/lib/database.tcl')
-rw-r--r-- | third_party/git/git-gui/lib/database.tcl | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/third_party/git/git-gui/lib/database.tcl b/third_party/git/git-gui/lib/database.tcl deleted file mode 100644 index 85783081e0d8..000000000000 --- a/third_party/git/git-gui/lib/database.tcl +++ /dev/null @@ -1,115 +0,0 @@ -# git-gui object database management support -# 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]} { - set stats($name) $value - } - } - close $fd - - set packed_sz 0 - foreach p [glob -directory [gitdir objects pack] \ - -type f \ - -nocomplain -- *] { - incr packed_sz [file size $p] - } - if {$packed_sz > 0} { - set stats(size-pack) [expr {$packed_sz / 1024}] - } - - set w .stats_view - Dialog $w - wm withdraw $w - wm geometry $w "+[winfo rootx .]+[winfo rooty .]" - - ${NS}::frame $w.buttons - ${NS}::button $w.buttons.close -text [mc Close] \ - -default active \ - -command [list destroy $w] - ${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 - - ${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}} - {in-pack {mc "Number of packed objects"}} - {packs {mc "Number of packs"}} - {size-pack {mc "Disk space used by packed objects"} { KiB}} - {prune-packable {mc "Packed objects waiting for pruning"}} - {garbage {mc "Garbage files"}} - } { - set name [lindex $s 0] - set label [eval [lindex $s 1]] - if {[catch {set value $stats($name)}]} continue - if {[llength $s] > 2} { - set value "$value[lindex $s 2]" - } - - ${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 - - 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 [mc "%s (%s): Database Statistics" [appname] [reponame]] - wm deiconify $w - tkwait window $w -} - -proc do_gc {} { - set w [console::new {gc} [mc "Compressing the object database"]] - console::chain $w { - {exec git pack-refs --prune} - {exec git reflog expire --all} - {exec git repack -a -d -l} - {exec git rerere gc} - } -} - -proc do_fsck_objects {} { - set w [console::new {fsck-objects} \ - [mc "Verifying the object database with fsck-objects"]] - set cmd [list git fsck-objects] - lappend cmd --full - lappend cmd --cache - lappend cmd --strict - console::exec $w $cmd -} - -proc hint_gc {} { - set ndirs 1 - set limit 8 - if {[is_Windows]} { - set ndirs 4 - set limit 1 - } - - set count [llength [glob \ - -nocomplain \ - -- \ - [gitdir objects 4\[0-[expr {$ndirs-1}]\]/*]]] - - 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. - -Compress the database now?" $objects_current]] eq yes} { - do_gc - } - } -} |