Re: Specifying revisions in the future
- From
Andreas Schwab <schwab@linux-m68k.org>
- Date
- Feb 5, 2012, 22:15 UTC
- Message-ID
- <m2wr81vsdv.fsf@igel.home>
- In-Reply-To
- <m3ehu9kknw.fsf@localhost.localdomain>
Jakub Narebski <jnareb@gmail.com> writes:
Show 13 quoted lines
> Andreas Schwab <schwab@linux-m68k.org> writes: >> Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes: >> >> > "the successor of <commit>", OTOH, is not well defined, since there can >> > be several successors, and one can't order them reliably (you can't >> > really know the set of successors, because they can exist in different >> > repositories). >> >> Yet it would be nice to have a concise notation for "the nth successor >> of <commit> towards <commit>" (using --first-parent ordering when >> ambiguous). > > First, "the nth successor"... from which refs?
>From the first given commit towards the other given commit (the latter
defaulting to HEAD).
Show 8 quoted lines
> Second, `--first-parent' won't help here. Take for example the > following situation: > > ---X<---*<---.<---A > \ > \--.<---B > > X+3 is A or B?
If "towards A" then it is A, if "towards B", it is B. In other words, to get the "nth successor of C1 towards C2" take the leftmost possible parent when walking from C2 to C1, then walk back n commits along this path. This way you should have an unambigous definition.
Andreas.
-- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."