Re: [PATCH v3 4/8] doc: give headings for the two and three dot notations
- From
Jakub Narębski <jnareb@gmail.com>
- Date
- Jul 19, 2016, 16:03 UTC
- Message-ID
- <578E4F4A.2020708@gmail.com>
- In-Reply-To
- <D94C739D5C334AFE9E5E8410147899EA@PhilipOakley>
W dniu 2016-07-13 o 00:11, Philip Oakley pisze:
> From: "Junio C Hamano" <gitster@pobox.com>
[...]
Show 7 quoted lines
>> I actually think this is a good place to have them described. >> <rev>^<number> is about specifying a single commit. These two are >> not that (you can say HEAD^2^@ but you cannot say HEAD^@^2, for >> example). > > These two are special cases I'm not too familiar with, particularly > the r1^! which I didn't understand from the description...
<rev>^@ is all parents of <rev>, that is
<rev>^@ == <rev>^1 <rev>^2 ... <rev>^<n>
where <n> is number of parents commit <rev> has.
<rev>^! is (if standalone) a single commit range, only <rev> revision. It is actually
<rev>^! == ( <rev> --not <rev>^@ )
that is, reachable from <rev> but not from any of its parents. Parentheses here denote that `--not` does not affect the rest of rev-like parameters.
Hope that helps
-- Jakub Narębski