Alexey Shumkin <alex.crez...@gmail.com> writes:

> The following two commands are expected to give the same output to a terminal:
>
>       $ git log --oneline --no-color
>       $ git log --pretty=format:'%h %s'
>
> However, the former pays attention to i18n.logOutputEncoding
> configuration, while the latter does not when it format "%s".
> Log messages written in an encoding i18n.commitEncoding which differs
> from terminal encoding are shown corrupted with the latter even
> when i18n.logOutputEncoding and terminal encoding are the same.
>
> The same corruption is true for
>       $ git diff --submodule=log
> and
>       $ git rev-list --pretty=format:%s HEAD
> and
>       $ git reset --hard
>
> Signed-off-by: Alexey Shumkin <alex.crez...@gmail.com>
> ---
>  t/t4041-diff-submodule-option.sh | 33 ++++++++-------
>  t/t4205-log-pretty-formats.sh    | 43 +++++++++++++++----
>  t/t6006-rev-list-format.sh       | 90 
> ++++++++++++++++++++++++++--------------
>  t/t7102-reset.sh                 | 32 +++++++++++---
>  4 files changed, 138 insertions(+), 60 deletions(-)
>
> diff --git a/t/t4041-diff-submodule-option.sh 
> b/t/t4041-diff-submodule-option.sh
> index 32d4a60..e7d6363 100755
> --- a/t/t4041-diff-submodule-option.sh
> +++ b/t/t4041-diff-submodule-option.sh
> @@ -1,6 +1,7 @@
>  #!/bin/sh
>  #
>  # Copyright (c) 2009 Jens Lehmann, based on t7401 by Ping Yin
> +# Copyright (c) 2011 Alexey Shumkin (+ non-UTF-8 commit encoding tests)
>  #
>  
>  test_description='Support for verbose submodule differences in git diff
> @@ -10,6 +11,7 @@ This test tries to verify the sanity of the --submodule 
> option of git diff.
>  
>  . ./test-lib.sh
>  
> +added=$(printf 
> "\320\264\320\276\320\261\320\260\320\262\320\273\320\265\320\275")

Please have an in-code comment before this line to explain what this
variable is about, e.g.

        # String "added" in Russian, encoded in UTF-8, used in
        # sample commit log messages in add_file() function below.
        added=$(printf "...")

>  add_file () {
>       (
>               cd "$1" &&
> @@ -19,7 +21,8 @@ add_file () {
>                       echo "$name" >"$name" &&
>                       git add "$name" &&
>                       test_tick &&
> -                     git commit -m "Add $name" || exit
> +                     msg_added_cp1251=$(echo "Add $name ($added $name)" | 
> iconv -f utf-8 -t cp1251) &&
> +                     git -c 'i18n.commitEncoding=cp1251' commit -m 
> "$msg_added_cp1251"
>               done >/dev/null &&
>               git rev-parse --short --verify HEAD
>       )

Does this patch make the all tests in this script fail for people
without cp1251 locale installed?  We already have tests that depend
on 8859-1 and some other locales, and we'd be better off limiting
such dependency to the minimum.

Same comment applies to the changes to other test scripts.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to