public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: Michael J Gruber <git@drmicha•warpmail.net>
To: mfwitten@gmail•com
Cc: "Tajti Ákos" <akos.tajti@intland•com>, git@vger•kernel.org
Subject: Re: Question about right-only
Date: Tue, 06 Sep 2011 18:08:03 +0200	[thread overview]
Message-ID: <4E664563.5020900@drmicha.warpmail.net> (raw)
In-Reply-To: <ec1404d75fd6461fa731f31625126884-mfwitten@gmail.com>

mfwitten@gmail•com venit, vidit, dixit 06.09.2011 17:24:
> 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.

Feel free to improve it :)

Though, in this case, everything is in git-log's man page, except for
the definition of "symmetric range", which is a fundamental concept and
this described by git help revisions, e.g.

Would a pointer from --left-only,--right-only to --cherry-pick help?

Michael

      parent reply	other threads:[~2011-09-06 16:08 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
2011-09-06 15:42   ` Tajti Ákos
2011-09-06 16:08   ` Michael J Gruber [this message]

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=4E664563.5020900@drmicha.warpmail.net \
    --to=git@drmicha$(echo .)warpmail.net \
    --cc=akos.tajti@intland$(echo .)com \
    --cc=git@vger$(echo .)kernel.org \
    --cc=mfwitten@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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