Re: Tilde spec - befuzzled
From: Thomas Rast <hidden>
Date: 2016-06-15 22:53:10
Andreas Ericsson [off-list ref] writes:
On 02/28/2012 10:07 AM, Luke Diamand wrote:quoted
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}<n>' means the <n>th parent (i.e. '<rev>{caret}' So far, so good. '<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?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