提交 529f8c6e 编写于 作者: J Junio C Hamano

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

* git://repo.or.cz/git-gui:
  git-gui: suppress RenderBadPicture X error caused by Tk bug
  git-gui: Increase blame viewer usability on MacOS.
  git-gui: search 4 directories to improve statistic of gc hint
  git gui: make current branch default in "remote delete branch" merge check
...@@ -2052,6 +2052,11 @@ proc do_quit {{rc {1}}} { ...@@ -2052,6 +2052,11 @@ proc do_quit {{rc {1}}} {
} }
set ret_code $rc set ret_code $rc
# Briefly enable send again, working around Tk bug
# http://sourceforge.net/tracker/?func=detail&atid=112997&aid=1821174&group_id=12997
tk appname [appname]
destroy . destroy .
} }
......
...@@ -1245,6 +1245,18 @@ method _open_tooltip {cur_w} { ...@@ -1245,6 +1245,18 @@ method _open_tooltip {cur_w} {
$tooltip_t conf -state disabled $tooltip_t conf -state disabled
_position_tooltip $this _position_tooltip $this
# On MacOS raising a window causes it to acquire focus.
# Tk 8.5 on MacOS seems to properly support wm transient,
# so we can safely counter the effect there.
if {$::have_tk85 && [is_MacOSX]} {
update
if {$w eq {}} {
raise .
} else {
raise $w
}
}
} }
method _position_tooltip {} { method _position_tooltip {} {
...@@ -1268,7 +1280,9 @@ method _position_tooltip {} { ...@@ -1268,7 +1280,9 @@ method _position_tooltip {} {
append g $pos_y append g $pos_y
wm geometry $tooltip_wm $g wm geometry $tooltip_wm $g
raise $tooltip_wm if {![is_MacOSX]} {
raise $tooltip_wm
}
} }
method _hide_tooltip {} { method _hide_tooltip {} {
......
...@@ -89,27 +89,26 @@ proc do_fsck_objects {} { ...@@ -89,27 +89,26 @@ proc do_fsck_objects {} {
} }
proc hint_gc {} { proc hint_gc {} {
set object_limit 8 set ndirs 1
set limit 8
if {[is_Windows]} { if {[is_Windows]} {
set object_limit 1 set ndirs 4
set limit 1
} }
set objects_current [llength [glob \ set count [llength [glob \
-directory [gitdir objects 42] \
-nocomplain \ -nocomplain \
-tails \
-- \ -- \
*]] [gitdir objects 4\[0-[expr {$ndirs-1}]\]/*]]]
if {$objects_current >= $object_limit} { if {$count >= $limit * $ndirs} {
set objects_current [expr {$objects_current * 250}] set objects_current [expr {$count * 256/$ndirs}]
set object_limit [expr {$object_limit * 250}]
if {[ask_popup \ if {[ask_popup \
[mc "This repository currently has approximately %i loose objects. [mc "This repository currently has approximately %i loose objects.
To maintain optimal performance it is strongly recommended that you compress the database when more than %i loose objects exist. To maintain optimal performance it is strongly recommended that you compress the database.
Compress the database now?" $objects_current $object_limit]] eq yes} { Compress the database now?" $objects_current]] eq yes} {
do_gc do_gc
} }
} }
......
...@@ -250,6 +250,8 @@ method _write_url {args} { set urltype url } ...@@ -250,6 +250,8 @@ method _write_url {args} { set urltype url }
method _write_check_head {args} { set checktype head } method _write_check_head {args} { set checktype head }
method _write_head_list {args} { method _write_head_list {args} {
global current_branch
$head_m delete 0 end $head_m delete 0 end
foreach abr $head_list { foreach abr $head_list {
$head_m insert end radiobutton \ $head_m insert end radiobutton \
...@@ -258,7 +260,11 @@ method _write_head_list {args} { ...@@ -258,7 +260,11 @@ method _write_head_list {args} {
-variable @check_head -variable @check_head
} }
if {[lsearch -exact -sorted $head_list $check_head] < 0} { if {[lsearch -exact -sorted $head_list $check_head] < 0} {
set check_head {} if {[lsearch -exact -sorted $head_list $current_branch] < 0} {
set check_head {}
} else {
set check_head $current_branch
}
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册