@matheusbsbs / matheus-bagliano / commits / 850cf9ae96
Fork 0

git-gui--askpass: coerce answers to UTF-8 on Windows

This addresses the issue where Git for Windows asks the user for a password, no credential helper is available, and then Git fails to pick up non-ASCII characters from the Git GUI helper. This can be verified e.g. via echo host=http://abc.com | git -c credential.helper= credential fill and then pasting some umlauts. The underlying reason is that Git for Windows tries to communicate using the UTF-8 encoding no matter what the actual current code page is. So let's indulge Git for Windows and do use that encoding. This fixes https://github.com/git-for-windows/git/issues/2215 Signed-off-by: Luke Bonanomi <lbonanomi@gmail.com> Helped-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>

Luke Bonanomi committed Mar 12, 2020 at 21:31 UTC 850cf9ae961ce59c980b0c59abd3dd676fb7b7ec
1 file changed +5
git-gui--askpass
+5
@@ -56,6 +56,11 @@ proc finish {} {
56 }
57 }
58
59 + # On Windows, force the encoding to UTF-8: it is what `git.exe` expects
60 + if {$::tcl_platform(platform) eq {windows}} {
61 + set ::answer [encoding convertto utf-8 $::answer]
62 + }
63 +
64 puts $::answer
65 set ::rc 0
66 }