From: Junio C Hamano Date: Sun, 06 Jul 2008 20:04:18 GMT Subject: Re: [q] git-diff --reverse 7def2be1..7def2be1^ Message-ID: <7vprpqdbjx.fsf@gitster.siamese.dyndns.org> In-Reply-To: <37fcd2780807060916h7d8c4e6mba7f30570d527dc3@mail.gmail.com> "Dmitry Potapov" writes: > On Fri, Jun 20, 2008 at 2:05 PM, Jakub Narebski wrote: >> >> There is shortcut for rev^..rev, namely rev^! (I'm not sure if it is >> documented anywhere, though), > > The latter is not exactly a shortcut for the former. You can try it at any > merge commit, and you will see different log. For instance, in Git repo: > ... > So, I believe, rev^! means --first-parent rev^..rev Not quite. From Documentation/git-rev-parse.txt: SPECIFYING RANGES ----------------- Two other shorthands for naming a set that is formed by a commit and its parent commits exists. `r1{caret}@` notation means all parents of `r1`. `r1{caret}!` includes commit `r1` but excludes its all parents.