git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 12/12] t3901: test git-am encoding conversion

From
Johannes Sixt <j6t@kdbg.org>
Date
Jul 8, 2015, 20:44 UTC
Message-ID
<559D8BA0.5090701@kdbg.org>
In-Reply-To
<1435861000-25278-13-git-send-email-pyokagan@gmail.com>
Am 02.07.2015 um 20:16 schrieb Paul Tan:
Show 50 quoted lines
> 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
> +'

This test case must be protected by !MINGW, just like the last case below and other cases that are already in the file. See 32f4cb6cee for details.

Show 43 quoted lines
> +
> +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
>
-- Hannes
Previous: Paul TanNext: Paul Tan
Message 22 of 26 in “Improve git-am test coverage”
  1. 00/12 Improve git-am test coveragePaul Tan, Jul 2, 2015
  2. 01/12 t4150: am.messageid really adds the message idPaul Tan, Jul 2, 2015
  3. Paolo BonziniJul 2, 2015
  4. Junio C HamanoJul 6, 2015
  5. 02/12 t4150: am fails if index is dirtyPaul Tan, Jul 2, 2015
  6. Johannes SchindelinJul 5, 2015
  7. Paul TanJul 7, 2015
  8. 03/12 t4151: am --abort will keep dirty index intactPaul Tan, Jul 2, 2015
  9. 04/12 t4150: am refuses patches when pausedPaul Tan, Jul 2, 2015
  10. 05/12 t4150: am --resolved fails if index has no changesPaul Tan, Jul 2, 2015
  11. 06/12 t4150: am --resolved fails if index has unmerged entriesPaul Tan, Jul 2, 2015
  12. 07/12 t4150: am with applypatch-msg hookPaul Tan, Jul 2, 2015
  13. Junio C HamanoJul 6, 2015
  14. 08/12 t4150: am with pre-applypatch hookPaul Tan, Jul 2, 2015
  15. 09/12 t4150: am with post-applypatch hookPaul Tan, Jul 2, 2015
  16. Johannes SchindelinJul 5, 2015
  17. Paul TanJul 7, 2015
  18. Johannes SchindelinJul 7, 2015
  19. 10/12 t4150: tests for am --[no-]scissorsPaul Tan, Jul 2, 2015
  20. 11/12 t3418: non-interactive rebase --continue with rerere enabledPaul Tan, Jul 2, 2015
  21. 12/12 t3901: test git-am encoding conversionPaul Tan, Jul 2, 2015
  22. Johannes SixtJul 8, 2015
  23. Paul TanJul 14, 2015
  24. Stefan BellerJul 3, 2015
  25. Johannes SchindelinJul 5, 2015
  26. Junio C HamanoJul 6, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.