Subject: Re: [PATCH 1/3] help: Fix help message for aliases

From: 김남형 <[email-masked]>
Date: Thu, 15 Mar 2012 14:15:14 +0900

Hi,

2012-03-15 1:17 PM, Jeff King wrote:
> On Thu, Mar 15, 2012 at 11:52:47AM +0900, Namhyung Kim wrote:
>
>> The current "`git br' is aliased to `branch'" looks a bit
>> strange. Prepend 'git' to aliased output too so that the
>> end result will be looked like this:
>>
>>   $ git help br
>>   `git br' is aliased to `git branch'
>
> I think that is a sensible improvement, but...
>
>> diff --git a/builtin/help.c b/builtin/help.c
>> index 61ff798..f85c870 100644
>> --- a/builtin/help.c
>> +++ b/builtin/help.c
>> @@ -445,7 +445,7 @@ int cmd_help(int argc, const char **argv, const char *prefix)
>>
>>   	alias = alias_lookup(argv[0]);
>>   	if (alias && !is_git_command(argv[0])) {
>> -		printf("`git %s' is aliased to `%s'\n", argv[0], alias);
>> +		printf("`git %s' is aliased to `git %s'\n", argv[0], alias);
>>   		return 0;
>
> What output does this produce for:
>
>    $ git config alias.foo '!f() { git log $1@{u}..$1; }; f'
>    $ git help foo
>
> ?
>

Oh, I didn't think of such a complicated case. Hmm, how about checking whether 
the first word is a git command or not:

		printf("`git %s' is aliased to `%s%s'\n", argv[0],
			is_git_command(first_word) ? "git " : "", alias);

Thanks,
Namhyung