git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: mfwitten@gmail.com
To: "Tajti Ákos" <akos.tajti@intland.com>
Cc: git@vger.kernel.org
Subject: Re: Question about right-only
Date: Tue, 06 Sep 2011 15:24:39 -0000	[thread overview]
Message-ID: <ec1404d75fd6461fa731f31625126884-mfwitten@gmail.com> (raw)
In-Reply-To: <4E6607B2.2090000@intland.com>

On Tue, 06 Sep 2011 13:44:50 +0200, Tajti wrote:

> what does the right-only option of git-log actually do? The manual is 
> not too verbose about it.

The documentation is indeed a bit messy, so let me rearrange it for you.

>From `git help rev-parse':

  r1...r2 is called symmetric difference of r1 and r2 and is
  defined as `r1 r2 --not $(git merge-base --all r1 r2)'. It is
  the set of commits that are reachable from either one of r1 or
  r2 but not from both.

Then we have this from `git help log':

  --left-right
      Mark which side of a symmetric diff a commit is reachable
      from. Commits from the left side [(r1 above)] are prefixed with
      < and those from the right [(r2 above)] with >...

which should explain what `<' and `>' mean in the following from
`git help log':

  --left-only, --right-only
      List only commits on the respective side of a symmetric
      range, i.e. only those which would be marked < resp. > by
      --left-right.

This is probably most useful with the following option, described
in `git help log':

  --cherry-pick
      Omit any commit that introduces the same change as another
      commit on the "other side" when the set of commits are
      limited with symmetric difference.

      ...

      For example, --cherry-pick --right-only A...B omits those
      commits from B which are in A or are patch-equivalent to a
      commit in A. In other words, this lists the + commits from
      git cherry A B. More precisely, --cherry-pick --right-only
      --no-merges gives the exact list.

That is, you often run into multiple commit objects that are unique
because of, say, differing commit dates, but that actually introduce
the same change to the source; this combination of options is helpful
in weeding out commits that introduce the same change.

If you're still confused, don't hesitate to poke the list some more;
the documentation is quite lacking over all topics, so don't feel
stupid.

  reply	other threads:[~2011-09-06 15:32 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-06 11:44 Question about right-only Tajti Ákos
2011-09-06 15:24 ` mfwitten [this message]
2011-09-06 15:42   ` Tajti Ákos
2011-09-06 16:08   ` Michael J Gruber

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=ec1404d75fd6461fa731f31625126884-mfwitten@gmail.com \
    --to=mfwitten@gmail.com \
    --cc=akos.tajti@intland.com \
    --cc=git@vger.kernel.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.
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 NNTP newsgroup(s).