Git fork

Merge https://github.com/j6t/git-gui

* 'master' of https://github.com/j6t/git-gui:
git-gui: use system encoding to show console output
git-gui: Remove forced rescan of stat-dirty files.

+9 -22
+2 -1
git-gui/git-gui.sh
··· 1357 1357 set is_3way_diff 0 1358 1358 set is_submodule_diff 0 1359 1359 set is_conflict_diff 0 1360 - set diff_empty_count 0 1361 1360 set last_revert {} 1362 1361 set last_revert_enc {} 1363 1362 ··· 3594 3593 $ui_diff tag configure clr4 -underline 1 3595 3594 3596 3595 $ui_diff tag conf d_info -foreground blue -font font_diffbold 3596 + $ui_diff tag conf d_rescan -foreground blue -underline 1 -font font_diffbold 3597 + $ui_diff tag bind d_rescan <Button-1> { clear_diff; rescan ui_ready 0 } 3597 3598 3598 3599 $ui_diff tag conf d_cr -elide true 3599 3600 $ui_diff tag conf d_@ -font font_diffbold
+1 -1
git-gui/lib/console.tcl
··· 97 97 lappend cmd 2>@1 98 98 set fd_f [_open_stdout_stderr $cmd] 99 99 } 100 - fconfigure $fd_f -blocking 0 -translation binary 100 + fconfigure $fd_f -blocking 0 -translation binary -encoding [encoding system] 101 101 fileevent $fd_f readable [cb _read $fd_f $after] 102 102 } 103 103
+6 -20
git-gui/lib/diff.tcl
··· 63 63 } 64 64 65 65 proc handle_empty_diff {} { 66 - global current_diff_path file_states file_lists 67 - global diff_empty_count 66 + global current_diff_path file_states 67 + global ui_diff 68 68 69 69 set path $current_diff_path 70 70 set s $file_states($path) 71 71 if {[lindex $s 0] ne {_M} || [has_textconv $path]} return 72 72 73 - # Prevent infinite rescan loops 74 - incr diff_empty_count 75 - if {$diff_empty_count > 1} return 76 - 77 - info_popup [mc "No differences detected. 78 - 79 - %s has no changes. 80 - 81 - The modification date of this file was updated by another application, but the content within the file was not changed. 82 - 83 - A rescan will be automatically started to find other files which may have the same state." [short_path $path]] 84 - 85 - clear_diff 86 - display_file $path __ 87 - rescan ui_ready 0 73 + $ui_diff conf -state normal 74 + $ui_diff insert end [mc "* No differences detected; stage the file to de-list it from Unstaged Changes.\n"] d_info 75 + $ui_diff insert end [mc "* Click to find other files that may have the same state.\n"] d_rescan 76 + $ui_diff conf -state disabled 88 77 } 89 78 90 79 proc show_diff {path w {lno {}} {scroll_pos {}} {callback {}}} { ··· 387 376 global ui_diff diff_active is_submodule_diff 388 377 global is_3way_diff is_conflict_diff current_diff_header 389 378 global current_diff_queue 390 - global diff_empty_count 391 379 392 380 $ui_diff conf -state normal 393 381 while {[gets $fd line] >= 0} { ··· 559 547 560 548 if {[$ui_diff index end] eq {2.0}} { 561 549 handle_empty_diff 562 - } else { 563 - set diff_empty_count 0 564 550 } 565 551 566 552 set callback [lindex $cont_info 1]