From: Jonathan Nieder <jrnieder@gmail.com>
To: git@vger.kernel.org
Cc: Alexey Shumkin <alex.crezoff@gmail.com>,
Jakub Narebski <jnareb@gmail.com>,
Alexander Gerasiov <gq@debian.org>
Subject: [PATCH 2/3] hooks/post-receive-email: force log messages in UTF-8
Date: Fri, 2 Aug 2013 16:23:38 -0700 [thread overview]
Message-ID: <20130802232338.GD2963@elie.Belkin> (raw)
In-Reply-To: <20130802232118.GB2963@elie.Belkin>
Git commands write commit messages in UTF-8 by default, but that
default can be overridden by the [i18n] commitEncoding and
logOutputEncoding settings. With such a setting, the emails written
by the post-receive-email hook use a mixture of encodings:
1. Log messages use the configured log output encoding, which is
meant to be whatever encoding works best with local terminals
(and does not have much to do with what encoding should be used
for email)
2. Filenames are left as is: on Linux, usually UTF-8, and in the Mingw
port (which uses Unicode filesystem APIs), always UTF-8
3. The "This is an automated email" preface uses a project description
from .git/description, which is typically in UTF-8 to support
gitweb.
So (1) is configurable, and (2) and (3) are unconfigurable and
typically UTF-8. Override the log output encoding to always use UTF-8
when writing the email to get the best chance of a comprehensible
single-encoding email.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
contrib/hooks/post-receive-email | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/contrib/hooks/post-receive-email b/contrib/hooks/post-receive-email
index 72084511..ba93a0d8 100755
--- a/contrib/hooks/post-receive-email
+++ b/contrib/hooks/post-receive-email
@@ -471,7 +471,7 @@ generate_delete_branch_email()
echo " was $oldrev"
echo ""
echo $LOGBEGIN
- git diff-tree -s --always --pretty=oneline $oldrev
+ git diff-tree -s --always --encoding=UTF-8 --pretty=oneline $oldrev
echo $LOGEND
}
@@ -571,7 +571,7 @@ generate_delete_atag_email()
echo " was $oldrev"
echo ""
echo $LOGBEGIN
- git diff-tree -s --always --pretty=oneline $oldrev
+ git diff-tree -s --always --encoding=UTF-8 --pretty=oneline $oldrev
echo $LOGEND
}
@@ -617,7 +617,7 @@ generate_general_email()
echo ""
if [ "$newrev_type" = "commit" ]; then
echo $LOGBEGIN
- git diff-tree -s --always --pretty=medium $newrev
+ git diff-tree -s --always --encoding=UTF-8 --pretty=medium $newrev
echo $LOGEND
else
# What can we do here? The tag marks an object that is not
@@ -636,7 +636,7 @@ generate_delete_general_email()
echo " was $oldrev"
echo ""
echo $LOGBEGIN
- git diff-tree -s --always --pretty=oneline $oldrev
+ git diff-tree -s --always --encoding=UTF-8 --pretty=oneline $oldrev
echo $LOGEND
}
--
1.8.4.rc1
next prev parent reply other threads:[~2013-08-02 23:23 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-02 23:21 [PATCH/RFC 0/3] post-receive-email: explicitly set Content-Type header Jonathan Nieder
2013-08-02 23:22 ` [PATCH 1/3] hooks/post-receive-email: use plumbing instead of git log/show Jonathan Nieder
2013-08-02 23:23 ` Jonathan Nieder [this message]
2013-08-04 14:54 ` [PATCH 2/3] hooks/post-receive-email: force log messages in UTF-8 Alexey Shumkin
2013-08-04 18:14 ` Jonathan Nieder
2013-08-05 8:45 ` Alexey Shumkin
2013-08-02 23:24 ` [PATCH 3/3] hooks/post-receive-email: set declared encoding to utf-8 Jonathan Nieder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130802232338.GD2963@elie.Belkin \
--to=jrnieder@gmail.com \
--cc=alex.crezoff@gmail.com \
--cc=git@vger.kernel.org \
--cc=gq@debian.org \
--cc=jnareb@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).