Re: [PATCH] help: allow redirecting to help for aliased command
- From
Rasmus Villemoes <rv@rasmusvillemoes.dk>
- Date
- Sep 28, 2018, 07:40 UTC
- Message-ID
- <fb221514-4749-affa-c657-0e36dd28fb13@rasmusvillemoes.dk>
- In-Reply-To
- <xmqqzhw4mgq3.fsf@gitster-ct.c.googlers.com>
On 2018-09-26 17:16, Junio C Hamano wrote:
Show 24 quoted lines
> Rasmus Villemoes <rv@rasmusvillemoes.dk> writes:
>
>> + /*
>> + * We use split_cmdline() to get the first word of the
>> + * alias, to ensure that we use the same rules as when
>> + * the alias is actually used. split_cmdline()
>> + * modifies alias in-place.
>> + */
>> + count = split_cmdline(alias, &argv);
>> + if (count < 0)
>> + die("Bad alias.%s string: %s", cmd,
>> + split_cmdline_strerror(count));
>> +
>> + if (follow_alias > 0) {
>> + fprintf_ln(stderr,
>> + _("Continuing to help for %s in %0.1f seconds."),
>> + alias, follow_alias/10.0);
>> + sleep_millisec(follow_alias * 100);
>> + }
>> + return alias;
>
> If you have "[alias] cp = cherry-pick -n", split_cmdline discards
> "-n" and the follow-alias prompt does not even tell you that it did
> so,That's not really true, as I deliberately did the split_cmdline after printing the "is an alias for", but before "continuing to help for", so this would precisely tell you
cp is an alias for 'cherry-pick -n' continuing to help for 'cherry-pick' in 1.5 seconds
> and you get "git help cherry-pick". This code somehow expects > you to know to jump to the section that describes the "--no-commit" > option. I do not think that is a reasonable expectation.
No, in that case I would not expect git cp --help to jump to that section anymore than I would expect "git cherry-pick -n --help" to magically do that (and that would be impossible in general, if more options are bundled in the alias).
> When you have "[alias] cp = cherry-pick -n", "git cp --help" should > not do "git help cherry-pick". Only a single word that exactly > matches a git command should get this treatment.
I considered that, and could certainly live with that. But it seems the discussion took a different turn in another part of the thread, so I'll continue there.
Rasmus