CC this to Johannes Sixt
On Wed, Jul 03, 2013 at 09:18:08PM +0100, John Keeping wrote:
Show 49 quoted lines
> My system doesn't have the en_US.UTF-8 locale (or plain en_US), which
> causes t4205 to fail by counting bytes instead of UTF-8 codepoints.
>
> Instead of using sed for this, use Perl which behaves predictably
> whatever locale is in use.
>
> Signed-off-by: John Keeping <john@keeping.me.uk>
> ---
> This patch is on top of 'as/log-output-encoding-in-user-format'.
>
> t/t4205-log-pretty-formats.sh | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/t/t4205-log-pretty-formats.sh b/t/t4205-log-pretty-formats.sh
> index 3cfb744..5864f5b 100755
> --- a/t/t4205-log-pretty-formats.sh
> +++ b/t/t4205-log-pretty-formats.sh
> @@ -20,9 +20,7 @@ commit_msg () {
> # cut string, replace cut part with two dots
> # $2 - chars count from the beginning of the string
> # $3 - "trailing" chars
> - # LC_ALL is set to make `sed` interpret "." as a UTF-8 char not a byte
> - # as it does with C locale
> - msg=$(echo $msg | LC_ALL=en_US.UTF-8 sed -e "s/^\(.\{$2\}\)$3/\1../")
> + msg=$(echo $msg | "$PERL_PATH" -CIO -pe "s/^(.{$2})$3/\1../")
> fi
> echo $msg
> }
> @@ -205,7 +203,7 @@ test_expect_success 'left alignment formatting with ltrunc' "
> ..sage two
> ..sage one
> add bar Z
> -$(commit_msg "" "0" ".\{11\}")
> +$(commit_msg "" "0" ".{11}")
> EOF
> test_cmp expected actual
> "
> @@ -218,7 +216,7 @@ test_expect_success 'left alignment formatting with mtrunc' "
> mess.. two
> mess.. one
> add bar Z
> -$(commit_msg "" "4" ".\{11\}")
> +$(commit_msg "" "4" ".{11}")
> EOF
> test_cmp expected actual
> "
> --
> 1.8.3.1.747.g77f7d3a
>