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

Re: potential improvement to 'git log' with a range

From
Martin Geisler <mg@lazybytes.net>
Date
Jun 23, 2010, 22:04 UTC
Message-ID
<87hbkth0dj.fsf@hbox.dyndns.org>
In-Reply-To
<201006232324.32516.jnareb@gmail.com>
Jakub Narebski <jnareb@gmail.com> writes:
Hi Jakub,

By the way: please let me know if you prefer that I keep these mails on Mercurials mailinglist. I've just had a long chat about it with our own moderator and he felt it was rude to cross-post like this. I, on the other hand, value a polite cross-list discussion like this.

Show 21 quoted lines
> On Wed, 23 Jun 2010, Martin Geisler wrote:
>> Jakub Narebski <jnareb@gmail.com> writes:
>>> On Wed, 23 Jun 2010, Martin Geisler wrote:
>>>
>>>> This is fixed with Mercurial 1.6: we now have a query language where
>>>> 'X..Y' (or 'X::Y') is understood as the set of changesets that are
>>>> both descendents of X and ancestors of Y.
>>>
>>> Thanks. It looks like Mercurial's 'X::Y' is equivalent to Git's
>>> '--ancestry-path X..Y' (the --ancestry-path option is a new feature).
>> 
>> Yeah, it is equivalent to --ancestry-path. I had no idea Git's range
>> operator worked the way it does :-)
>> 
>> For mercurial-devel: 'X..Y' is a shorthand for '^X Y', which in turn
>> means ancestors of Y, excluding ancestors of X (and excluding X).
>
> Err... so how it is for X..Y / X::Y in Mercurial? "Ancestors of Y,
> excluding ancestors of X" is larger range (and default result for X..Y
> in Git) than "descendants of X and ancestors of Y" (i.e. the result of
> new --ancestry-path X..Y in Git).

I described Git's X..Y for people on mercurial-devel. Mercurial's X..Y is like Git's --ancestry-path X..Y (except that Mercurial include both endpoints whereas Git excludes X).

Mercurial's X..Y behave the way it does because it felt natural and because I though Git's X..Y behaved that way.

> See http://repo.or.cz/w/git.git/blob/refs/heads/pu:/Documentation/rev-list-options.txt#l582
Yes, that was the document I read in order to see how Git's X..Y works.
Show 18 quoted lines
>>>>> [1]
>>>>> http://stackoverflow.com/questions/1598759/git-and-mercurial-compare-and-contrast/1599930#1599930
>>>
>>> Fixed. Could you please take a look if it is correct, and if there
>>> are errors, either correct it yourself, or ask me to do it (either
>>> via comments for this question, or via email)? Thanks in advance.
>> 
>> Yes, its correct now. But would you object if I or someone else took
>> out all those personal opinions and rewrote it from a neutral point
>> of view?
>
> Well, I do provide disclaimer upfront that I am biased towards Git,
> and I have tried to be objective.
>
> But I don't mind if someone who uses Mercurial fixed that side, and
> tried for neutral point of view (but not introducing the opposite
> bias). There would be problem with NPOV with issues without clear
> answer, where personal preference matters, though.
Great, then I may edit it a bit sometime...
-- 
Martin Geisler

Mercurial links: http://mercurial.ch/
Previous: Jakub NarebskiNext: Jay Soffian
Message 13 of 18 in “potential improvement to 'git log' with a range”
  1. AghilesApr 9, 2010
  2. Santi BéjarApr 9, 2010
  3. Sverre RabbelierApr 9, 2010
  4. AghilesApr 10, 2010
  5. Sverre RabbelierApr 10, 2010
  6. Linus TorvaldsApr 10, 2010
  7. AghilesApr 11, 2010
  8. Jakub NarebskiApr 11, 2010
  9. Martin GeislerJun 23, 2010
  10. Jakub NarebskiJun 23, 2010
  11. Martin GeislerJun 23, 2010
  12. Jakub NarebskiJun 23, 2010
  13. Martin GeislerJun 23, 2010
  14. Jay SoffianJun 23, 2010
  15. Junio C HamanoJun 23, 2010
  16. Jay SoffianJun 23, 2010
  17. Junio C HamanoJun 24, 2010
  18. Jay SoffianJun 24, 2010

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.