Alexey Shumkin <[email protected]> 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 <[email protected]>
> ---
> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html