summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Shawn O. Pearce <spearce@spearce.org>2006-12-07 22:07:38 -0500
committerLibravatar Shawn O. Pearce <spearce@spearce.org>2007-01-21 02:54:15 -0500
commit557afe820baccb21206c974fbd4afa65bd7f1e03 (patch)
tree1c9faecb9248b19aebdeab537b22821dc8144b46
parentgit-gui: Reworded 'Include' to 'Add' to match core Git. (diff)
downloadtgif-557afe820baccb21206c974fbd4afa65bd7f1e03.tar.xz
git-gui: Created very crude Tools menu, to support miga.
In one particular case I have a tool called 'miga' which users may need to invoke on their repository. This is a homegrown tool which is not (and should be) part of git-gui, but I still want to be able to run it from within the gui. Right now I'm taking a shortcut and adding it to the Tools menu if we are not on Mac OS X and the support script used to launch the tool exists in the local filesystem. This is nothing but a complete and utter hack. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
-rwxr-xr-xgit-gui29
1 files changed, 29 insertions, 0 deletions
diff --git a/git-gui b/git-gui
index 1891215a64..36979afd77 100755
--- a/git-gui
+++ b/git-gui
@@ -3210,6 +3210,35 @@ if {[is_MacOSX]} {
-command do_options \
-font font_ui
+ # -- Tools Menu
+ #
+ if {[file exists /usr/local/miga/lib/gui-miga]} {
+ proc do_miga {} {
+ global gitdir ui_status_value
+ if {![lock_index update]} return
+ set cmd [list sh --login -c "/usr/local/miga/lib/gui-miga \"[pwd]\""]
+ set miga_fd [open "|$cmd" r]
+ fconfigure $miga_fd -blocking 0
+ fileevent $miga_fd readable [list miga_done $miga_fd]
+ set ui_status_value {Running miga...}
+ }
+ proc miga_done {fd} {
+ read $fd 512
+ if {[eof $fd]} {
+ close $fd
+ unlock_index
+ rescan [list set ui_status_value {Ready.}]
+ }
+ }
+ .mbar add cascade -label Tools -menu .mbar.tools
+ menu .mbar.tools
+ .mbar.tools add command -label "Migrate" \
+ -command do_miga \
+ -font font_ui
+ lappend disable_on_lock \
+ [list .mbar.tools entryconf [.mbar.tools index last] -state]
+ }
+
# -- Help Menu
#
.mbar add cascade -label Help -menu .mbar.help