aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Levedahl <mlevedahl@gmail.com>2025-05-21 19:18:46 -0400
committerMark Levedahl <mlevedahl@gmail.com>2025-07-22 12:32:58 -0400
commit07714e220b7ee137f4645ec950383eaaeddf23d5 (patch)
tree445c2e54a8854e262ab73bd0022ab1dc5781195a
parent40f54f670a01b6ae4f13e0888796948ddce9104c (diff)
downloadgit-07714e220b7ee137f4645ec950383eaaeddf23d5.tar.gz
git-gui: do not mix -translation binary and -encoding
git-gui has many instances of '-translation binary' and '-encoding $SOMETHING' on the same channel. As eofchar is always null given a prior commit, the net effect of having '-translation binary' in such configuration is only to change how text line endings are handled. For cases where the channel is opened to be consumed via gets, the eol translation is irrelevant because Tcl's gets is documented to recognize any of \n, \r, and \r\n as a line ending. So, keep only the '-encoding $SOMETHING' configuration in these cases, making the configuration more clear. Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
-rwxr-xr-xgit-gui.sh4
-rw-r--r--lib/branch.tcl4
-rw-r--r--lib/browser.tcl2
-rw-r--r--lib/choose_rev.tcl2
4 files changed, 6 insertions, 6 deletions
diff --git a/git-gui.sh b/git-gui.sh
index 07781e7d90..63c2f48f91 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -592,7 +592,7 @@ proc git {args} {
proc git_redir {cmd redir} {
set fd [git_read $cmd $redir]
- fconfigure $fd -translation binary -encoding utf-8
+ fconfigure $fd -encoding utf-8
set result [string trimright [read $fd] "\n"]
close $fd
if {$::_trace} {
@@ -1004,7 +1004,7 @@ proc _parse_config {arr_name args} {
[concat config \
$args \
--null --list]]
- fconfigure $fd_rc -translation binary -encoding utf-8
+ fconfigure $fd_rc -encoding utf-8
set buf [read $fd_rc]
close $fd_rc
}
diff --git a/lib/branch.tcl b/lib/branch.tcl
index 39e0f2dc98..97c9ec1c00 100644
--- a/lib/branch.tcl
+++ b/lib/branch.tcl
@@ -8,7 +8,7 @@ proc load_all_heads {} {
set rh_len [expr {[string length $rh] + 1}]
set all_heads [list]
set fd [git_read [list for-each-ref --format=%(refname) $rh]]
- fconfigure $fd -translation binary -encoding utf-8
+ fconfigure $fd -encoding utf-8
while {[gets $fd line] > 0} {
if {!$some_heads_tracking || ![is_tracking_branch $line]} {
lappend all_heads [string range $line $rh_len end]
@@ -25,7 +25,7 @@ proc load_all_tags {} {
--sort=-taggerdate \
--format=%(refname) \
refs/tags]]
- fconfigure $fd -translation binary -encoding utf-8
+ fconfigure $fd -encoding utf-8
while {[gets $fd line] > 0} {
if {![regsub ^refs/tags/ $line {} name]} continue
lappend all_tags $name
diff --git a/lib/browser.tcl b/lib/browser.tcl
index f53eb952cf..fe72de025e 100644
--- a/lib/browser.tcl
+++ b/lib/browser.tcl
@@ -195,7 +195,7 @@ method _ls {tree_id {name {}}} {
$w conf -state disabled
set fd [git_read [list ls-tree -z $tree_id]]
- fconfigure $fd -blocking 0 -translation binary -encoding utf-8
+ fconfigure $fd -blocking 0 -encoding utf-8
fileevent $fd readable [cb _read $fd]
}
diff --git a/lib/choose_rev.tcl b/lib/choose_rev.tcl
index 7a9e3c83bb..4cf6cebac4 100644
--- a/lib/choose_rev.tcl
+++ b/lib/choose_rev.tcl
@@ -570,7 +570,7 @@ method _reflog_last {name} {
set last {}
if {[catch {set last [file mtime [gitdir $name]]}]
&& ![catch {set g [safe_open_file [gitdir logs $name] r]}]} {
- fconfigure $g -translation binary
+ fconfigure $g -encoding iso8859-1
while {[gets $g line] >= 0} {
if {[regexp {> ([1-9][0-9]*) } $line line when]} {
set last $when