Skip to content
Snippets Groups Projects
Commit 444f92d0 authored by Shawn O. Pearce's avatar Shawn O. Pearce
Browse files

git-gui: Allow users to run fsck-objects from the gui.


I recently found a need to run fsck-objects in a number of repositories
that I also use git-gui against.  Tossing in a menu option to invoke
fsck-objects and have its output show up in a console window is simple
enough to do.

We probably need to enhance the console window used by fsck-objects,
like to open up the Git fsck-objects manual page and let the user see
what each message means (such as "dangling commit") and to also let the
user invoke prune, to cleanup any such dangling objects.  But right now
I'm going to ignore that problem in favor of getting other more important
features implemented.

Signed-off-by: default avatarShawn O. Pearce <spearce@spearce.org>
parent f18e40a1
No related branches found
No related tags found
No related merge requests found
...@@ -1954,6 +1954,15 @@ proc do_repack {} { ...@@ -1954,6 +1954,15 @@ proc do_repack {} {
console_exec $w $cmd console_exec $w $cmd
} }
proc do_fsck_objects {} {
set w [new_console "verify" "Verifying the object database"]
set cmd [list git fsck-objects]
lappend cmd --full
lappend cmd --cache
lappend cmd --strict
console_exec $w $cmd
}
set is_quitting 0 set is_quitting 0
proc do_quit {} { proc do_quit {} {
...@@ -2610,6 +2619,10 @@ if {!$single_commit} { ...@@ -2610,6 +2619,10 @@ if {!$single_commit} {
-command do_repack \ -command do_repack \
-font font_ui -font font_ui
.mbar.project add command -label {Verify Database} \
-command do_fsck_objects \
-font font_ui
if {$tcl_platform(platform) eq {windows}} { if {$tcl_platform(platform) eq {windows}} {
.mbar.project add command \ .mbar.project add command \
-label {Create Desktop Icon} \ -label {Create Desktop Icon} \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment