Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: git-subtree completions



I see this has been committed now; reviewing the committed patch:

> +++ b/Completion/Unix/Command/_git
> @@ -1747,6 +1747,91 @@ 
> +(( $+functions[_git-subtree] )) ||
> +_git-subtree () {
> +    (option-or-argument)
> +      curcontext=${curcontext%:*}-$line[1]:
> +      case $line[1] in
> +        (add)
> +          _arguments \
> +            '(-q --quiet)'{-q,--quiet}'[suppress progress output]' \
> +            '(-m --message)'{-m,--message}'[use the given message as the commit message for the merge commit]' \

-m takes an argument, but this spec doesn't reflect that.  I assume it should be

               '(-m --message)'{-m+,--message=}'[use the given message as the commit message for the merge commit]:message' \
	                        ^^^ ^^^^^^^^^^                                                                    ^^^^^^^^
(three changes)

> +            '(-P --prefix)'{-P,--prefix=}'[the path to the subtree in the repository to manipulate]: :_directories' \

s/-P,/-P+,/

> +            '--squash[import only a single commit from the subproject]' \
> +            ': :__git_any_repositories_or_references' \
> +            ':: :__git_ref_specs' && ret=0

__git_ref_specs doesn't seem appropriate here:
.
    % git subtree add -P foo ../other-repository/ master:target
    'master:target' does not look like a ref
.
I think what is wanted here is "names of refs in the remote repository",
same as the before-the-colon part of 'git fetch' refspecs.

(And by the way, __git_ref_specs is deprecated in master; new code
should use one of the two __git_ref_specs_* functions directly.)

Cheers,

Daniel



Messages sorted by: Reverse Date, Date, Thread, Author