Browse Source

Merge git://repo.or.cz/git-gui

* git://repo.or.cz/git-gui:
  git-gui: Vertically align textboxes with labels
  git-gui: Handle workdir detection when CYGWIN=nowinsymlinks
  git-gui: Add a --trace command line option
maint
Junio C Hamano 17 years ago
parent
commit
2d3cfd77ad
  1. 70
      git-gui/git-gui.sh
  2. 8
      git-gui/lib/choose_repository.tcl

70
git-gui/git-gui.sh

@ -122,6 +122,14 @@ set _reponame {} @@ -122,6 +122,14 @@ set _reponame {}
set _iscygwin {}
set _search_path {}

set _trace [lsearch -exact $argv --trace]
if {$_trace >= 0} {
set argv [lreplace $argv $_trace $_trace]
set _trace 1
} else {
set _trace 0
}

proc appname {} {
global _appname
return $_appname
@ -245,6 +253,21 @@ proc get_config {name} { @@ -245,6 +253,21 @@ proc get_config {name} {
##
## handy utils

proc _trace_exec {cmd} {
if {!$::_trace} return
set d {}
foreach v $cmd {
if {$d ne {}} {
append d { }
}
if {[regexp {[ \t\r\n'"$?*]} $v]} {
set v [sq $v]
}
append d $v
}
puts stderr $d
}

proc _git_cmd {name} {
global _git_cmd_path

@ -339,7 +362,7 @@ proc _lappend_nice {cmd_var} { @@ -339,7 +362,7 @@ proc _lappend_nice {cmd_var} {
}

proc git {args} {
set opt [list exec]
set opt [list]

while {1} {
switch -- [lindex $args 0] {
@ -359,12 +382,18 @@ proc git {args} { @@ -359,12 +382,18 @@ proc git {args} {
set cmdp [_git_cmd [lindex $args 0]]
set args [lrange $args 1 end]

return [eval $opt $cmdp $args]
_trace_exec [concat $opt $cmdp $args]
set result [eval exec $opt $cmdp $args]
if {$::_trace} {
puts stderr "< $result"
}
return $result
}

proc _open_stdout_stderr {cmd} {
_trace_exec $cmd
if {[catch {
set fd [open $cmd r]
set fd [open [concat [list | ] $cmd] r]
} err]} {
if { [lindex $cmd end] eq {2>@1}
&& $err eq {can not find channel named "1"}
@ -375,6 +404,7 @@ proc _open_stdout_stderr {cmd} { @@ -375,6 +404,7 @@ proc _open_stdout_stderr {cmd} {
# to try to start it a second time.
#
set fd [open [concat \
[list | ] \
[lrange $cmd 0 end-1] \
[list |& cat] \
] r]
@ -387,7 +417,7 @@ proc _open_stdout_stderr {cmd} { @@ -387,7 +417,7 @@ proc _open_stdout_stderr {cmd} {
}

proc git_read {args} {
set opt [list |]
set opt [list]

while {1} {
switch -- [lindex $args 0] {
@ -415,7 +445,7 @@ proc git_read {args} { @@ -415,7 +445,7 @@ proc git_read {args} {
}

proc git_write {args} {
set opt [list |]
set opt [list]

while {1} {
switch -- [lindex $args 0] {
@ -435,7 +465,8 @@ proc git_write {args} { @@ -435,7 +465,8 @@ proc git_write {args} {
set cmdp [_git_cmd [lindex $args 0]]
set args [lrange $args 1 end]

return [open [concat $opt $cmdp $args] w]
_trace_exec [concat $opt $cmdp $args]
return [open [concat [list | ] $opt $cmdp $args] w]
}

proc githook_read {hook_name args} {
@ -455,12 +486,12 @@ proc githook_read {hook_name args} { @@ -455,12 +486,12 @@ proc githook_read {hook_name args} {
}

set scr {if test -x "$1";then exec "$@";fi}
set sh_c [list | $interp -c $scr $interp $pchook]
set sh_c [list $interp -c $scr $interp $pchook]
return [_open_stdout_stderr [concat $sh_c $args]]
}

if {[file executable $pchook]} {
return [_open_stdout_stderr [concat [list | $pchook] $args]]
return [_open_stdout_stderr [concat [list $pchook] $args]]
}

return {}
@ -1096,27 +1127,18 @@ proc rescan {after {honor_trustmtime 1}} { @@ -1096,27 +1127,18 @@ proc rescan {after {honor_trustmtime 1}} {
}

if {[is_Cygwin]} {
set is_git_info_link {}
set is_git_info_exclude {}
proc have_info_exclude {} {
global is_git_info_link is_git_info_exclude

if {$is_git_info_link eq {}} {
set is_git_info_link [file isfile [gitdir info.lnk]]
}
global is_git_info_exclude

if {$is_git_info_link} {
if {$is_git_info_exclude eq {}} {
if {[catch {exec test -f [gitdir info exclude]}]} {
set is_git_info_exclude 0
} else {
set is_git_info_exclude 1
}
if {$is_git_info_exclude eq {}} {
if {[catch {exec test -f [gitdir info exclude]}]} {
set is_git_info_exclude 0
} else {
set is_git_info_exclude 1
}
return $is_git_info_exclude
} else {
return [file readable [gitdir info exclude]]
}
return $is_git_info_exclude
}
} else {
proc have_info_exclude {} {

8
git-gui/lib/choose_repository.tcl

@ -388,9 +388,7 @@ method _do_new {} { @@ -388,9 +388,7 @@ method _do_new {} {
-command [cb _new_local_path]
set w_localpath $w_body.where.t

pack $w_body.where.b -side right
pack $w_body.where.l -side left
pack $w_body.where.t -fill x
grid $w_body.where.l $w_body.where.t $w_body.where.b -sticky ew
pack $w_body.where -fill x

trace add variable @local_path write [cb _write_local_path]
@ -987,9 +985,7 @@ method _do_open {} { @@ -987,9 +985,7 @@ method _do_open {} {
-text [mc "Browse"] \
-command [cb _open_local_path]

pack $w_body.where.b -side right
pack $w_body.where.l -side left
pack $w_body.where.t -fill x
grid $w_body.where.l $w_body.where.t $w_body.where.b -sticky ew
pack $w_body.where -fill x

trace add variable @local_path write [cb _write_local_path]

Loading…
Cancel
Save