about summary refs log tree commit diff
path: root/third_party/git/git-gui/lib/database.tcl
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2021-09-21T10·03+0300
committerVincent Ambo <mail@tazj.in>2021-09-21T11·29+0300
commit43b1791ec601732ac31195df96781a848360a9ac (patch)
treedaae8d638343295d2f1f7da955e556ef4c958864 /third_party/git/git-gui/lib/database.tcl
parent2d8e7dc9d9c38127ec4ebd13aee8e8f586a43318 (diff)
chore(3p/git): Unvendor git and track patches instead r/2903
This was vendored a long time ago under the expectation that keeping
it in sync with cgit would be easier this way, but it has proven not
to be a big issue.

On the other hand, a vendored copy of git is an annoying maintenance
burden. It is much easier to rebase the single (dottime) patch that we
have.

This removes the vendored copy of git and instead passes the git
source code to cgit via `pkgs.srcOnly`, which includes the applied
patch so that cgit can continue rendering dottime.

Change-Id: If31f62dea7ce688fd1b9050204e9378019775f2b
Diffstat (limited to 'third_party/git/git-gui/lib/database.tcl')
-rw-r--r--third_party/git/git-gui/lib/database.tcl115
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
-		}
-	}
-}