Re: [PATCH] Extend "checkout --track" DWIM to support more cases
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 20, 2008, 22:22 UTC
- Message-ID
- <7vd4k3nx7m.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <20080820202952.GH16626@blimp.local>
Alex Riesen <raa.lkml@gmail.com> writes:
Show 29 quoted lines
> Johannes Schindelin, Wed, Aug 20, 2008 22:16:19 +0200:
>> >
>> > No. It strips refs/ OR remotes/ (because of prefixcmp with argv[0]).
>> > And I still wanted refs/<namespace>/something...
>>
>> Yes, you are correct. However, to fix my thinko, I deem this preferable:
>>
>> -- snipsnap --
>>
>> builtin-checkout.c | 6 ++++--
>> 1 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/builtin-checkout.c b/builtin-checkout.c
>> index e95eab9..2a076cf 100644
>> --- a/builtin-checkout.c
>> +++ b/builtin-checkout.c
>> @@ -448,8 +448,10 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)
>> if (!argc || !strcmp(argv[0], "--"))
>> die ("--track needs a branch name");
>> slash = strchr(argv[0], '/');
>> - if (slash && !prefixcmp(argv[0], "refs/"))
>> - slash = strchr(slash + 1, '/');
>> + if (slash && !prefixcmp(argv[0], "refs/")) {
>> + argv[0] = slash + 1;
>> + slash = strchr(argv[0], '/');
>> + }
>
> Yes, I agree (and its shorter). The git-checkout manpage can be
> improved, too (no DWIM is obvious, except may be for the implementor).I think that makes sense. Care to send an appliable patch with documentation updates, please?