From: Thomas Rast Date: Tue, 28 Feb 2012 11:34:44 GMT Subject: Re: Tilde spec - befuzzled Message-ID: <87zkc38a3v.fsf@thomas.inf.ethz.ch> In-Reply-To: <4F4CA354.2070503@op5.se> Andreas Ericsson writes: > On 02/28/2012 10:07 AM, Luke Diamand wrote: >> The documentation for caret and tilde specs is making my head hurt, even though they always _do_ exactly what I want. And I thought I understood them until I read more carefully. >> >> A suffix '{caret}' to a revision parameter means the first parent of >> that commit object. '{caret}' means the th parent (i.e. >> '{caret}' >> >> So far, so good. >> >> '{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? >> > > Replace "grand-parent" with "ancestor" and your head might hurt a > little less. Caret only ever describes parent, while tilde can > describe either parent or n'th generation grand-parent. Since parent > and grand-parent are all ancestors, that would be a better term. 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. -- Thomas Rast trast@{inf,student}.ethz.ch