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

Re: [PATCH] completion: add option --recurse-submodules to "git push"

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 7, 2012, 17:21 UTC
Message-ID
<7vehj1ixr6.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1354883304-6860-1-git-send-email-steffen.jaeckel@stzedn.de>
Steffen Jaeckel <steffen.jaeckel@stzedn.de> writes:
Show 16 quoted lines
> Signed-off-by: Steffen Jaeckel <steffen.jaeckel@stzedn.de>
> ---
>  contrib/completion/git-completion.bash | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index 0b77eb1..5b4d2e1 100644
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -1434,6 +1434,10 @@ _git_pull ()
>  	__git_complete_remote_or_refspec
>  }
>  
> +__git_push_recurse_submodules_options="
> +	check on-demand
> +"

Most of the existing completion functions do not seem to define separate variables like this; instead, they literally embed their choices at the point of use.

Is it expected that the same set of choices will appear in the completion of many other subcommand options? [jc: Cc'ed Heiko so that we can sanity check the answer to this question]. If so, the variable may be justified; otherwise, not.

Show 11 quoted lines
>  _git_push ()
>  {
>  	case "$prev" in
> @@ -1446,10 +1450,15 @@ _git_push ()
>  		__gitcomp_nl "$(__git_remotes)" "" "${cur##--repo=}"
>  		return
>  		;;
> +	--recurse-submodules=*)
> +		__gitcomp "$__git_push_recurse_submodules_options" "" "${cur##--recurse-submodules=}"
> +		return
> +		;;

Owners of the completion script, does this look reasonable? [jc: Cc'ed Felipe for this]

This is a tangent, but why is it a double-hash "##" not a single-hash "#", other than "because all others use ##"?

Show 8 quoted lines
>  	--*)
>  		__gitcomp "
>  			--all --mirror --tags --dry-run --force --verbose
>  			--receive-pack= --repo= --set-upstream
> +			--recurse-submodules=
>  		"
>  		return
>  		;;
Previous: Steffen JaeckelNext: Felipe Contreras
Message 2 of 4 in “completion: add option --recurse-submodules to "git push"”
  1. completion: add option --recurse-submodules to "git push"Steffen Jaeckel, Dec 7, 2012
  2. Junio C HamanoDec 7, 2012
  3. Felipe ContrerasDec 12, 2012
  4. Heiko VoigtDec 18, 2012

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.