Re: Tilde spec - befuzzled
- From
Andrew Ardill <andrew.ardill@gmail.com>
- Date
- Feb 29, 2012, 01:18 UTC
- Message-ID
- <CAH5451m=6XhRj1osN_Dw7zKvAW-jtru+EbCkRvo8aNRMbJS6bA@mail.gmail.com>
- In-Reply-To
- <7vaa42zrw8.fsf@alter.siamese.dyndns.org>
On 29 February 2012 06:20, Junio C Hamano <gitster@pobox.com> wrote:
Show 23 quoted lines
> Thomas Rast <trast@inf.ethz.ch> writes:
>
>>>> '<rev>{tilde}<n>', e.g. 'master{tilde}3'::
>>>> A suffix '{tilde}<n>' to a revision parameter means the commit
>>>> object that is the <n>th generation grand-parent of the named
>>>> commit object, following only the first parents.
>>>>
>>>> Hang on, *grand*-parents?
>>>> ...
>>
>> Perhaps we should reword it as "n-th first-parent ancestor"? Barring
>> confusion about the position of the dashes, that leaves little room for
>> error.
>
> I think we could either go "easier to read but not precise"
>
> ... that is the <n>th generation (grand-)parent of ...
>
> or "may sound scary but correct"
>
> the ancestor reached by walking the first-parent chain <n> times
>
> I am not sure which bucket "n-th first-parent ancestor" falls into.The terms might be too technical, however my understanding was that HEAD^n takes <n> steps along a breadth-first traversal of the commit tree rooted at HEAD, while HEAD~n uses a depth-first traversal.
A better form for the description might come from that formulation of the process, rather than the 'generational' formulation.
Regards,
Andrew Ardill