From: Paul Tan <pyokagan@gmail.com>
To: git@vger.kernel.org
Cc: Johannes Schindelin <johannes.schindelin@gmx.de>,
Stefan Beller <sbeller@google.com>, Paul Tan <pyokagan@gmail.com>,
Junio C Hamano <gitster@pobox.com>
Subject: [PATCH 12/12] t3901: test git-am encoding conversion
Date: Fri, 3 Jul 2015 02:16:40 +0800 [thread overview]
Message-ID: <1435861000-25278-13-git-send-email-pyokagan@gmail.com> (raw)
In-Reply-To: <1435861000-25278-1-git-send-email-pyokagan@gmail.com>
Since d1c5f2a (Add git-am, applymbox replacement., 2005-10-07), git-am
supported the --utf8 and --no-utf8 options, and if set, would pass the
-u flag and the -k flag respectively.
git mailinfo -u will re-code the commit log message and authorship info
in the charset specified by i18n.commitencoding setting, while
git mailinfo -n will disable the re-coding.
Since d84029b (--utf8 is now default for 'git-am', 2007-01-08), --utf8
is set by default in git-am.
Add various encoding conversion tests to t3901 to test git-mailinfo's
encoding conversion. In addition, add a test for --no-utf8 to check that
no encoding conversion will occur if that option is set.
Cc: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Paul Tan <pyokagan@gmail.com>
---
t/t3901-i18n-patch.sh | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
diff --git a/t/t3901-i18n-patch.sh b/t/t3901-i18n-patch.sh
index 75cf3ff..b49bdb7 100755
--- a/t/t3901-i18n-patch.sh
+++ b/t/t3901-i18n-patch.sh
@@ -251,4 +251,66 @@ test_expect_success 'rebase --merge (L/U)' '
check_encoding 2 8859
'
+test_expect_success 'am (U/U)' '
+ # Apply UTF-8 patches with UTF-8 commitencoding
+ git config i18n.commitencoding UTF-8 &&
+ . "$TEST_DIRECTORY"/t3901-utf8.txt &&
+
+ git reset --hard master &&
+ git am out-u1 out-u2 &&
+
+ check_encoding 2
+'
+
+test_expect_success 'am (L/L)' '
+ # Apply ISO-8859-1 patches with ISO-8859-1 commitencoding
+ git config i18n.commitencoding ISO8859-1 &&
+ . "$TEST_DIRECTORY"/t3901-8859-1.txt &&
+
+ git reset --hard master &&
+ git am out-l1 out-l2 &&
+
+ check_encoding 2 8859
+'
+
+test_expect_success 'am (U/L)' '
+ # Apply ISO-8859-1 patches with UTF-8 commitencoding
+ git config i18n.commitencoding UTF-8 &&
+ . "$TEST_DIRECTORY"/t3901-utf8.txt &&
+ git reset --hard master &&
+
+ # am specifies --utf8 by default.
+ git am out-l1 out-l2 &&
+
+ check_encoding 2
+'
+
+test_expect_success 'am --no-utf8 (U/L)' '
+ # Apply ISO-8859-1 patches with UTF-8 commitencoding
+ git config i18n.commitencoding UTF-8 &&
+ . "$TEST_DIRECTORY"/t3901-utf8.txt &&
+
+ git reset --hard master &&
+ git am --no-utf8 out-l1 out-l2 2>err &&
+
+ # commit-tree will warn that the commit message does not contain valid UTF-8
+ # as mailinfo did not convert it
+ grep "did not conform" err &&
+
+ check_encoding 2
+'
+
+test_expect_success !MINGW 'am (L/U)' '
+ # Apply UTF-8 patches with ISO-8859-1 commitencoding
+ git config i18n.commitencoding ISO8859-1 &&
+ . "$TEST_DIRECTORY"/t3901-8859-1.txt &&
+
+ git reset --hard master &&
+ # mailinfo will re-code the commit message to the charset specified by
+ # i18n.commitencoding
+ git am out-u1 out-u2 &&
+
+ check_encoding 2 8859
+'
+
test_done
--
2.5.0.rc1.81.gfe77482
next prev parent reply other threads:[~2015-07-02 18:18 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-02 18:16 [PATCH 00/12] Improve git-am test coverage Paul Tan
2015-07-02 18:16 ` [PATCH 01/12] t4150: am.messageid really adds the message id Paul Tan
2015-07-02 18:41 ` Paolo Bonzini
2015-07-06 17:38 ` Junio C Hamano
2015-07-02 18:16 ` [PATCH 02/12] t4150: am fails if index is dirty Paul Tan
2015-07-05 15:38 ` Johannes Schindelin
2015-07-07 6:35 ` Paul Tan
2015-07-02 18:16 ` [PATCH 03/12] t4151: am --abort will keep dirty index intact Paul Tan
2015-07-02 18:16 ` [PATCH 04/12] t4150: am refuses patches when paused Paul Tan
2015-07-02 18:16 ` [PATCH 05/12] t4150: am --resolved fails if index has no changes Paul Tan
2015-07-02 18:16 ` [PATCH 06/12] t4150: am --resolved fails if index has unmerged entries Paul Tan
2015-07-02 18:16 ` [PATCH 07/12] t4150: am with applypatch-msg hook Paul Tan
2015-07-06 17:46 ` Junio C Hamano
2015-07-02 18:16 ` [PATCH 08/12] t4150: am with pre-applypatch hook Paul Tan
2015-07-02 18:16 ` [PATCH 09/12] t4150: am with post-applypatch hook Paul Tan
2015-07-05 15:58 ` Johannes Schindelin
2015-07-07 6:47 ` Paul Tan
2015-07-07 8:07 ` Johannes Schindelin
2015-07-02 18:16 ` [PATCH 10/12] t4150: tests for am --[no-]scissors Paul Tan
2015-07-02 18:16 ` [PATCH 11/12] t3418: non-interactive rebase --continue with rerere enabled Paul Tan
2015-07-02 18:16 ` Paul Tan [this message]
2015-07-08 20:44 ` [PATCH 12/12] t3901: test git-am encoding conversion Johannes Sixt
2015-07-14 9:43 ` Paul Tan
2015-07-03 16:24 ` [PATCH 00/12] Improve git-am test coverage Stefan Beller
2015-07-05 16:02 ` Johannes Schindelin
2015-07-06 20:42 ` Junio C Hamano
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=1435861000-25278-13-git-send-email-pyokagan@gmail.com \
--to=pyokagan@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=johannes.schindelin@gmx.de \
--cc=sbeller@google.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).