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

Re: [PATCH] Avoid the need of "--" when wildcard pathspec is used

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 30, 2015, 18:10 UTC
Message-ID
<xmqqk2ulcbj3.fsf@gitster.dls.corp.google.com>
In-Reply-To
<1435668007-31231-1-git-send-email-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy  <pclouds@gmail.com> writes:
Show 5 quoted lines
> When "--" is lacking from the command line and a command can take both
> revs and paths, the idea is if an argument can be seen as both an
> extended SHA-1 and a path, then "--" is required or git refuses to
> continue. It's currently implemented as:
> ...

Hmph, how does this relate to 28fcc0b7 (pathspec: avoid the need of "--" when wildcard is used, 2015-05-02)? A follow-up? "Oops, I did it wrong"? something else?

Show 10 quoted lines
> diff --git a/setup.c b/setup.c
> index 82c0cc2..f7cb93b 100644
> --- a/setup.c
> +++ b/setup.c
> @@ -143,6 +143,8 @@ int check_filename(const char *prefix, const char *arg)
>  		name = arg + 2;
>  	} else if (!no_wildcard(arg))
>  		return 1;
> +	else if (!no_wildcard(arg))
> +		return 1;

Puzzling. You already checked if arg has an wildcard and returned with 1 if there is none. The added check looks like a no-op to me.

Show 35 quoted lines
> diff --git a/t/t2019-checkout-ambiguous-ref.sh b/t/t2019-checkout-ambiguous-ref.sh
> index b99d519..e5ceba3 100755
> --- a/t/t2019-checkout-ambiguous-ref.sh
> +++ b/t/t2019-checkout-ambiguous-ref.sh
> @@ -56,4 +56,30 @@ test_expect_success VAGUENESS_SUCCESS 'checkout reports switch to branch' '
>  	test_i18ngrep ! "^HEAD is now at" stderr
>  '
>  
> +test_expect_success 'wildcard ambiguation' '
> +	git init ambi &&
> +	(
> +		cd ambi &&
> +		echo a >a.c &&
> +		git add a.c &&
> +		echo b >a.c &&
> +		git checkout "*.c" &&
> +		echo a >expect &&
> +		test_cmp expect a.c
> +	)
> +'
> +
> +test_expect_success 'wildcard ambiguation (2)' '
> +	git init ambi2 &&
> +	(
> +		cd ambi2 &&
> +		echo a >"*.c" &&
> +		git add . &&
> +		test_must_fail git show :"*.c" &&
> +		git show :"*.c" -- >actual &&
> +		echo a >expect &&
> +		test_cmp expect actual
> +	)
> +'
> +
>  test_done
Previous: Nguyễn Thái Ngọc DuyNext: Duy Nguyen
Message 2 of 5 in “Avoid the need of "--" when wildcard pathspec is used”
  1. Avoid the need of "--" when wildcard pathspec is usedNguyễn Thái Ngọc Duy, Jun 30, 2015
  2. Junio C HamanoJun 30, 2015
  3. Duy NguyenJun 30, 2015
  4. Add tests for wildcard "path vs ref" disambiguationNguyễn Thái Ngọc Duy, Jul 1, 2015
  5. Junio C HamanoJul 1, 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.