diff options
author | yaras <yaras6@gmail.com> | 2016-02-23 11:55:46 +0000 |
---|---|---|
committer | Pat Thoyts <patthoyts@users.sourceforge.net> | 2016-10-03 23:27:14 +0100 |
commit | af465c0c28d2b299c08613e97d6df0ec23d86fbb (patch) | |
tree | 8e80e78730d623080c25625c2f77710abc70e179 /git-gui.sh | |
parent | c217e26c9df0a701a3ba4be0654bedf8c328c36b (diff) | |
download | git-af465c0c28d2b299c08613e97d6df0ec23d86fbb.tar.gz git-af465c0c28d2b299c08613e97d6df0ec23d86fbb.tar.xz |
git-gui: fix initial git gui message encoding
This fix refers https://github.com/git-for-windows/git/issues/664
After `git merge --squash` git creates .git/SQUASH_MSG (UTF-8 encoded)
which contains squashed commits. When run `git gui` it copies SQUASH_MSG
to PREPARE_COMMIT_MSG, but without honoring UTF-8. This leads to encoding
problems on `git gui` commit prompt.
The same applies on git cherry-pick conflict, where MERGE_MSG is created
and then is copied to PREPARE_COMMIT_MSG.
In both cases PREPARE_COMMIT_MSG must be configured to store data in UTF-8.
Signed-off-by: yaras <yaras6@gmail.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Diffstat (limited to 'git-gui.sh')
-rwxr-xr-x | git-gui.sh | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/git-gui.sh b/git-gui.sh index 11048c7a0..1ed51857e 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -1616,11 +1616,13 @@ proc run_prepare_commit_msg_hook {} { if {[file isfile [gitdir MERGE_MSG]]} { set pcm_source "merge" set fd_mm [open [gitdir MERGE_MSG] r] + fconfigure $fd_mm -encoding utf-8 puts -nonewline $fd_pcm [read $fd_mm] close $fd_mm } elseif {[file isfile [gitdir SQUASH_MSG]]} { set pcm_source "squash" set fd_sm [open [gitdir SQUASH_MSG] r] + fconfigure $fd_sm -encoding utf-8 puts -nonewline $fd_pcm [read $fd_sm] close $fd_sm } else { |