git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Question about right-only

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Sep 6, 2011, 16:08 UTC
Message-ID
<4E664563.5020900@drmicha.warpmail.net>
In-Reply-To
<ec1404d75fd6461fa731f31625126884-mfwitten@gmail.com>
mfwitten@gmail.com venit, vidit, dixit 06.09.2011 17:24:
Show 53 quoted lines
> 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
Previous: Tajti Ákos
Message 4 of 4 in “Question about right-only”
  1. Tajti ÁkosSep 6, 2011
  2. mfwitten@gmail.comSep 6, 2011
  3. Tajti ÁkosSep 6, 2011
  4. Michael J GruberSep 6, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.