Re: [PATCH v3 06/42] completion: use __gitcomp_builtin in _git_am

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Feb 14, 2018 at 7:53 PM, SZEDER Gábor <szeder.dev@xxxxxxxxx> wrote:
> On Fri, Feb 9, 2018 at 12:01 PM, Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> wrote:
>> The new completable options are:
>>
>> --directory
>> --exclude
>> --gpg-sign
>> --include
>> --keep-cr
>> --keep-non-patch
>> --message-id
>> --no-keep-cr
>> --patch-format
>> --quiet
>> --reject
>> --resolvemsg=
>>
>> In-progress options like --continue will be part of --git-completion-helper
>> then filtered out by _git_am() unless the operation is in progress. This
>> helps keep marking of these operations in just one place.
>>
>> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx>
>> ---
>>  contrib/completion/git-completion.bash | 11 ++++-------
>>  parse-options.h                        |  4 ++--
>>  rerere.h                               |  3 ++-
>>  3 files changed, 8 insertions(+), 10 deletions(-)
>>
>> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
>> index 1e0bd835fe..eba482eb9c 100644
>> --- a/contrib/completion/git-completion.bash
>> +++ b/contrib/completion/git-completion.bash
>> @@ -1105,12 +1105,13 @@ __git_count_arguments ()
>>  }
>>
>>  __git_whitespacelist="nowarn warn error error-all fix"
>> +__git_am_inprogress_options="--skip --continue --resolved --abort"
>>
>>  _git_am ()
>>  {
>>         __git_find_repo_path
>>         if [ -d "$__git_repo_path"/rebase-apply ]; then
>> -               __gitcomp "--skip --continue --resolved --abort"
>> +               __gitcomp "$__git_am_inprogress_options"
>>                 return
>>         fi
>>         case "$cur" in
>> @@ -1119,12 +1120,8 @@ _git_am ()
>>                 return
>>                 ;;
>>         --*)
>> -               __gitcomp "
>> -                       --3way --committer-date-is-author-date --ignore-date
>> -                       --ignore-whitespace --ignore-space-change
>> -                       --interactive --keep --no-utf8 --signoff --utf8
>> -                       --whitespace= --scissors
>> -                       "
>> +               __gitcomp_builtin am "--no-utf8" \
>> +                       "$__git_am_inprogress_options"
>>                 return
>>         esac
>>  }
>> diff --git a/parse-options.h b/parse-options.h
>> index 3c32401736..009cd863e5 100644
>> --- a/parse-options.h
>> +++ b/parse-options.h
>> @@ -144,8 +144,8 @@ struct option {
>>  #define OPT_STRING_LIST(s, l, v, a, h) \
>>                                     { OPTION_CALLBACK, (s), (l), (v), (a), \
>>                                       (h), 0, &parse_opt_string_list }
>> -#define OPT_UYN(s, l, v, h)         { OPTION_CALLBACK, (s), (l), (v), NULL, \
>> -                                     (h), PARSE_OPT_NOARG, &parse_opt_tertiary }
>> +#define OPT_UYN(s, l, v, h, f)      { OPTION_CALLBACK, (s), (l), (v), NULL, \
>> +                                     (h), PARSE_OPT_NOARG|(f), &parse_opt_tertiary }
>>  #define OPT_DATE(s, l, v, h) \
>>         { OPTION_CALLBACK, (s), (l), (v), N_("time"),(h), 0,    \
>>           parse_opt_approxidate_cb }
>
> Shouldn't this hunk go into a commit of its own?  Or at least it would
> deserve a mention in the commit message.

It's not a standalone change. It is used by the OPT_RERERE_AUTOUPDATE
below, which in turn is used by git-add. Together, --rerere-autoupdate
is removed from the completion list of git-add (and also a few more
commands).

Now that you mention it, the only command that completes
--rerere-autoupdate is git-merge. Since this is "auto" I don't think
people want to type manually. Maybe I should separate these changes
_and_ remove --rerere-autoupdate from _git_merge() too? At least that
it will be consistent that way.

>> diff --git a/rerere.h b/rerere.h
>> index c2961feaaa..5e5a312e4c 100644
>> --- a/rerere.h
>> +++ b/rerere.h
>> @@ -37,6 +37,7 @@ extern void rerere_clear(struct string_list *);
>>  extern void rerere_gc(struct string_list *);
>>
>>  #define OPT_RERERE_AUTOUPDATE(v) OPT_UYN(0, "rerere-autoupdate", (v), \
>> -       N_("update the index with reused conflict resolution if possible"))
>> +       N_("update the index with reused conflict resolution if possible"), \
>> +       PARSE_OPT_NOCOMPLETE)
>>
>>  #endif
>> --
>> 2.16.1.207.gedba492059
>>



-- 
Duy




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux