Subject: Re: [PATCH] git-svn: shorten glob error message

From: Junio C Hamano <[email-masked]>
Date: Thu, 14 Jan 2016 10:15:49 -0800

Eric Wong <[email-masked]> writes:

> Error messages should attempt to fit within the confines of
> an 80-column terminal to avoid compatibility and accessibility
> problems.  Furthermore the word "directories" can be misleading
> when used in the context of git refnames.
>
> Signed-off-by: Eric Wong <[email-masked]>
> ---
>   Eric Wong <[email-masked]> wrote:
>   > I also noticed the "Only one set of wildcard directories" error
>   > message is unnecessary long and "wildcard directories" should
>   > probably be shortened to "wildcards" to avoid wrapping in a terminal.
>   > That will probably be a separate patch for me.
>
>   There's likely more instances of this in git-svn, but I figured
>   we'll get this one fixed, first.
>
>   Also pushed to bogomips.org/git-svn.git
>   (commit dc6aa7e61e9d33856f54d63b7acb518383420373)
>   along with Victor's patch.

Thanks.

I am not sure if it is a good idea to show */*/* as an example in
the message (that is an anti-example of 'one set of wildcard' by
having three stars, isn't it?), but that is not a new issue this
change introduces.

>  	my $state = "left";
> -	my $die_msg = "Only one set of wildcard directories " .
> -				"(e.g. '*' or '*/*/*') is supported: '$glob'\n";
> +	my $die_msg = "Only one set of wildcards " .
> +				"(e.g. '*' or '*/*/*') is supported: $glob\n";
>  	for my $part (split(m|/|, $glob)) {
>  		if ($pattern_ok && $part =~ /[{}]/ &&
>  			 $part !~ /^\{[^{}]+\}/) {
> diff --git a/t/t9108-git-svn-glob.sh b/t/t9108-git-svn-glob.sh
> index d732d31..29b363b 100755
> --- a/t/t9108-git-svn-glob.sh
> +++ b/t/t9108-git-svn-glob.sh
> @@ -86,9 +86,12 @@ test_expect_success 'test left-hand-side only globbing' '
>  	test_cmp expect.two output.two
>  	'
>  
> -echo "Only one set of wildcard directories" \
> -     "(e.g. '*' or '*/*/*') is supported: 'branches/*/t/*'" > expect.three
> -echo "" >> expect.three
> +test_expect_success 'prepare test disallow multi-globs' "
> +cat >expect.three <<EOF
> +Only one set of wildcards (e.g. '*' or '*/*/*') is supported: branches/*/t/*
> +
> +EOF
> +	"
>  
>  test_expect_success 'test disallow multi-globs' '
>  	git config --add svn-remote.three.url "$svnrepo" &&
> diff --git a/t/t9109-git-svn-multi-glob.sh b/t/t9109-git-svn-multi-glob.sh
> index c318f9f..d0b79fe 100755
> --- a/t/t9109-git-svn-multi-glob.sh
> +++ b/t/t9109-git-svn-multi-glob.sh
> @@ -135,9 +135,12 @@ test_expect_success 'test another branch' '
>  	test_cmp expect.four output.four
>  	'
>  
> -echo "Only one set of wildcard directories" \
> -     "(e.g. '*' or '*/*/*') is supported: 'branches/*/t/*'" > expect.three
> -echo "" >> expect.three
> +test_expect_success 'prepare test disallow multiple globs' "
> +cat >expect.three <<EOF
> +Only one set of wildcards (e.g. '*' or '*/*/*') is supported: branches/*/t/*
> +
> +EOF
> +	"
>  
>  test_expect_success 'test disallow multiple globs' '
>  	git config --add svn-remote.three.url "$svnrepo" &&
> diff --git a/t/t9168-git-svn-partially-globbed-names.sh b/t/t9168-git-svn-partially-globbed-names.sh
> index a7641dc..8b22f22 100755
> --- a/t/t9168-git-svn-partially-globbed-names.sh
> +++ b/t/t9168-git-svn-partially-globbed-names.sh
> @@ -130,9 +130,10 @@ test_expect_success 'test prefixed globs match just prefix' '
>  	'
>  
>  test_expect_success 'prepare test disallow prefixed multi-globs' "
> -	echo \"Only one set of wildcard directories\" \
> -	     \"(e.g. '*' or '*/*/*') is supported: 'branches/b_*/t/*'\" >expect.four &&
> -	echo \"\" >>expect.four
> +cat >expect.four <<EOF
> +Only one set of wildcards (e.g. '*' or '*/*/*') is supported: branches/b_*/t/*
> +
> +EOF
>  	"
>  
>  test_expect_success 'test disallow prefixed multi-globs' '