All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Dmitry Potapov <dpotapov@gmail.com>
Cc: Jakub Narebski <jnareb@gmail.com>, Ingo Molnar <mingo@elte.hu>,
	git@vger.kernel.org
Subject: Re: [q] git-diff --reverse 7def2be1..7def2be1^
Date: Sun, 06 Jul 2008 15:33:16 -0700	[thread overview]
Message-ID: <7vbq1ad4nn.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <20080706203951.GB1721@dpotapov.dyndns.org> (Dmitry Potapov's message of "Mon, 7 Jul 2008 00:39:52 +0400")

Dmitry Potapov <dpotapov@gmail.com> writes:

> On Sun, Jul 06, 2008 at 01:04:18PM -0700, Junio C Hamano wrote:
>>     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.
>
> So, I would say that rev^! is shorthand for rev^@..rev, but it does not
> actually work:
>
> git rev-list 7ac749c^@..7ac749c
> fatal: ambiguous argument '7ac749c^@..7ac749c': unknown revision or path
> not in the working tree.
>
> yet "^rev^@ rev" syntax does:
>
> git rev-list ^7ac749c^@ 7ac749c
> 7ac749c96d143ba4f76723959892cbaddbe8ed07
>
> Is it a bug or feature?
>
> Puzzled...

After reading these paragraphs from "SPECIFYING RANGES":

        History traversing commands such as 'git-log' operate on a set
        of commits, not just a single commit.  To these commands,
        specifying a single revision with the notation described in the
        previous section means the set of commits reachable from that
        commit, following the commit ancestry chain.

        To exclude commits reachable from a commit, a prefix `{caret}`
        notation is used.  E.g. "`{caret}r1 r2`" means commits reachable
        from `r2` but exclude the ones reachable from `r1`.

        This set operation appears so often that there is a shorthand
        for it.  "`r1..r2`" is equivalent to "`{caret}r1 r2`".  It is
        the difference of two sets (subtract the set of commits
        reachable from `r1` from the set of commits reachable from
        `r2`).

it is obvious to me that the third paragraph talks about r1 that is a
single rev (refer to SPECIFYING REVISIONS section, which does _NOT_ talk
about rev^@ nor rev^!)  and r2 that similarly is another single rev.  So I
think it is fairly clear that your "r^@..r" example is nonsense.

But perhaps these paragraphs need to be further reworded to avoid the
confusion.  I dunno.

  reply	other threads:[~2008-07-06 22:34 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-20  8:20 [q] git-diff --reverse 7def2be1..7def2be1^ Ingo Molnar
2008-06-20  8:38 ` Junio C Hamano
2008-06-20  8:46   ` Junio C Hamano
2008-06-20 10:00     ` Ingo Molnar
2008-06-20 10:02   ` Ingo Molnar
2008-06-20 10:05 ` Jakub Narebski
2008-06-20 13:02   ` Mikael Magnusson
2008-06-20 13:13     ` Jakub Narebski
2008-06-20 13:52   ` Ingo Molnar
2008-06-22 18:52     ` Andreas Ericsson
2008-07-06 16:16   ` Dmitry Potapov
2008-07-06 20:04     ` Junio C Hamano
2008-07-06 20:39       ` Dmitry Potapov
2008-07-06 22:33         ` Junio C Hamano [this message]
2008-07-07  4:01           ` Dmitry Potapov
2008-06-20 11:30 ` Matthieu Moy
2008-06-20 13:50   ` Ingo Molnar
2008-06-20 14:23     ` Jakub Narebski
     [not found]       ` <20080620153819.GF17373@elte.hu>
2008-06-20 15:38         ` Ingo Molnar
2008-06-26  9:37       ` Ingo Molnar
2008-06-26 11:02         ` Jakub Narebski
2008-06-26 11:08           ` Ingo Molnar
2008-06-26 13:50           ` Nicolas Pitre
2008-06-28 22:08         ` Junio C Hamano
2008-06-20 13:04 ` Mikael Magnusson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7vbq1ad4nn.fsf@gitster.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=dpotapov@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jnareb@gmail.com \
    --cc=mingo@elte.hu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.