1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-21 22:06:20 +02:00

Merge branch 'js/misc-git-gui-stuff' of ../git-gui

* 'js/misc-git-gui-stuff' of ../git-gui:
  git-gui: allow Ctrl+T to toggle multiple paths
  git-gui: fix exception when trying to stage with empty file list
  git-gui: avoid exception upon Ctrl+T in an empty list
  git gui: fix staging a second line to a 1-line file
This commit is contained in:
Junio C Hamano 2018-01-09 11:07:03 -08:00
commit 02a5f25d95
2 changed files with 27 additions and 1 deletions

View File

@ -2501,9 +2501,28 @@ proc toggle_or_diff {mode w args} {
set pos [split [$w index @$x,$y] .]
foreach {lno col} $pos break
} else {
if {$mode eq "toggle"} {
if {$w eq $ui_workdir} {
do_add_selection
set last_clicked {}
return
}
if {$w eq $ui_index} {
do_unstage_selection
set last_clicked {}
return
}
}
if {$last_clicked ne {}} {
set lno [lindex $last_clicked 1]
} else {
if {![info exists file_lists]
|| ![info exists file_lists($w)]
|| [llength $file_lists($w)] == 0} {
set last_clicked {}
return
}
set lno [expr {int([lindex [$w tag ranges in_diff] 0])}]
}
if {$mode eq "toggle"} {
@ -2514,7 +2533,13 @@ proc toggle_or_diff {mode w args} {
}
}
set path [lindex $file_lists($w) [expr {$lno - 1}]]
if {![info exists file_lists]
|| ![info exists file_lists($w)]
|| [llength $file_lists($w)] < $lno - 1} {
set path {}
} else {
set path [lindex $file_lists($w) [expr {$lno - 1}]]
}
if {$path eq {}} {
set last_clicked {}
return

View File

@ -698,6 +698,7 @@ proc apply_range_or_line {x y} {
set hh [$ui_diff get $i_l "$i_l + 1 lines"]
set hh [lindex [split $hh ,] 0]
set hln [lindex [split $hh -] 1]
set hln [lindex [split $hln " "] 0]
# There is a special situation to take care of. Consider this
# hunk: