Skip to content

Commit 76cf4f6

Browse files
committed
* '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.
2 parents 996f0c5 + 5c95773 commit 76cf4f6

File tree

3 files changed

+9
-22
lines changed

3 files changed

+9
-22
lines changed

git-gui/git-gui.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1357,7 +1357,6 @@ set current_diff_path {}
13571357
set is_3way_diff 0
13581358
set is_submodule_diff 0
13591359
set is_conflict_diff 0
1360-
set diff_empty_count 0
13611360
set last_revert {}
13621361
set last_revert_enc {}
13631362

@@ -3594,6 +3593,8 @@ $ui_diff tag configure clr1 -font font_diffbold
35943593
$ui_diff tag configure clr4 -underline 1
35953594

35963595
$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 }
35973598

35983599
$ui_diff tag conf d_cr -elide true
35993600
$ui_diff tag conf d_@ -font font_diffbold

git-gui/lib/console.tcl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ method exec {cmd {after {}}} {
9797
lappend cmd 2>@1
9898
set fd_f [_open_stdout_stderr $cmd]
9999
}
100-
fconfigure $fd_f -blocking 0 -translation binary
100+
fconfigure $fd_f -blocking 0 -translation binary -encoding [encoding system]
101101
fileevent $fd_f readable [cb _read $fd_f $after]
102102
}
103103

git-gui/lib/diff.tcl

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -63,28 +63,17 @@ proc force_diff_encoding {enc} {
6363
}
6464

6565
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
6868

6969
set path $current_diff_path
7070
set s $file_states($path)
7171
if {[lindex $s 0] ne {_M} || [has_textconv $path]} return
7272

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
8877
}
8978

9079
proc show_diff {path w {lno {}} {scroll_pos {}} {callback {}}} {
@@ -387,7 +376,6 @@ proc read_diff {fd conflict_size cont_info} {
387376
global ui_diff diff_active is_submodule_diff
388377
global is_3way_diff is_conflict_diff current_diff_header
389378
global current_diff_queue
390-
global diff_empty_count
391379

392380
$ui_diff conf -state normal
393381
while {[gets $fd line] >= 0} {
@@ -559,8 +547,6 @@ proc read_diff {fd conflict_size cont_info} {
559547

560548
if {[$ui_diff index end] eq {2.0}} {
561549
handle_empty_diff
562-
} else {
563-
set diff_empty_count 0
564550
}
565551

566552
set callback [lindex $cont_info 1]

0 commit comments

Comments
 (0)