From: Andrew Ardill Date: Wed, 29 Feb 2012 01:18:07 GMT Subject: Re: Tilde spec - befuzzled Message-ID: In-Reply-To: <7vaa42zrw8.fsf@alter.siamese.dyndns.org> On 29 February 2012 06:20, Junio C Hamano wrote: > Thomas Rast writes: > >>>> '{tilde}', e.g. 'master{tilde}3':: >>>> A suffix '{tilde}' to a revision parameter means the commit >>>> object that is the 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 th generation (grand-)parent of ... > > or "may sound scary but correct" > >        the ancestor reached by walking the first-parent chain 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 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