git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "Philip Oakley" <philipoakley@iee.org>
Cc: "Git List" <git@vger.kernel.org>,
	"Michael J Gruber" <git@drmicha.warpmail.net>
Subject: Re: clarification of `rev-list --no-walk ^<rev>`?
Date: Mon, 19 Sep 2016 09:19:47 -0700	[thread overview]
Message-ID: <xmqq4m5bhnfg.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <033051503D8C4F618B1E4879AFF8C28D@PhilipOakley> (Philip Oakley's message of "Mon, 19 Sep 2016 15:46:50 +0100")

"Philip Oakley" <philipoakley@iee.org> writes:

> At the moment the cherry-pick man page's example implies that
> --do-walk is applied from the beginning, rather from the point given
> on the command line.
>
> I had a very quick search of the *.c code for the options but didn't
> get any further. Hopefully the user issue/misunderstanding is
> elsewhere... I'll add this to my little list.

I think the confusion is coming from not understanding that revision
specifiers cannot have position-dependent semantics, because there
is no "union of multiple sets".  You said

	commits in 'master..next' range and the tip of 'maint'

earlier, and that is a prime specimen of that confusion.  That is
asking "things reachable from next excluding things reachable from
master" computed independently from everything else on the command
line (i.e. that is one set), and "the commit at the tip of 'maint'"
(i.e. that is another set, which consists of a singleton element),
and wanting to take a union of it.  But the revision machinery is
not structured to work that way.  It can only do "reachable from one
enumeration of positive tips, excluding ones reachable from another
enumeration of negative tips".  "no-walk" is a cheap hack that tells
the machinery "stop after collecting that 'one enumeration of
positive tips' and do not walk. Make that enumeration the resulting
set".  Having anything negative in the enumeration of starting
points from the command line automatically turns "no-walk" off, even
for commands that default to "no-walk".

We may need further documentation updates to unconfuse readers.

  reply	other threads:[~2016-09-19 16:19 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-19 10:56 clarification of `rev-list --no-walk ^<rev>`? Philip Oakley
2016-09-19 13:46 ` Michael J Gruber
2016-09-19 14:46   ` Philip Oakley
2016-09-19 16:19     ` Junio C Hamano [this message]
2016-09-19 16:12   ` Junio C Hamano
2016-09-19 19:31     ` Philip Oakley
2016-09-19 19:58       ` Junio C Hamano
2016-09-19 20:12         ` Philip Oakley
2016-09-19 21:00           ` Junio C Hamano
2016-09-19 20:44         ` Philip Oakley
2016-09-21 14:46     ` Michael J Gruber
2016-09-21 14:51       ` Michael J Gruber
2016-09-21 16:15       ` Junio C Hamano

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=xmqq4m5bhnfg.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=git@drmicha.warpmail.net \
    --cc=git@vger.kernel.org \
    --cc=philipoakley@iee.org \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).