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

Re: [Annoyance] "git log .." thinks ".." is ambiguous

From
Jeff King <peff@peff.net>
Date
May 2, 2011, 19:33 UTC
Message-ID
<20110502193321.GB10487@sigill.intra.peff.net>
In-Reply-To
<7vr58glxro.fsf@alter.siamese.dyndns.org>
On Mon, May 02, 2011 at 12:15:23PM -0700, Junio C Hamano wrote:
Show 12 quoted lines
> Either end of revision range operator can be omitted to default to
> HEAD, as in "origin.." (what did I do since I forked) or "..origin" (what
> did they do since I forked).  But this resulted in ".." to be interpreted
> as an empty range "HEAD..HEAD", and worse yet, because ".." does exist on
> the filesystem, we get this annoying output:
> 
>   $ cd Documentation/howto
>   $ git log .. ;# give me recent commits that touch Documentation/ area.
>   fatal: ambiguous argument '..': both revision and filename
>   Use '--' to separate filenames from revisions
> 
> Surely we could say "git log .. --", but we shouldn't have to.

I got slightly confused reading this, because I thought at first you wanted ".." to be some kind of magic rev specifier. In particular, your last line should say:

  git log -- ..
no?
I finally figured it out by reading your example carefully.

As far as the patch goes, I think it is the right thing to do. We should probably disallow ".." as a revision (because it is nonsensical to ask for, just as it would be to ask for a non-existent ref). And then the only sane thing is to consider it as a path.

I didn't check, but what does your patch do with:
  $ cd "`git rev-parse --show-toplevel`"
  $ git log ..
?
-Peff
Previous: Junio C HamanoNext: Jeff King
Message 2 of 19 in “[Annoyance] "git log .." thinks ".." is ambiguous”
  1. Junio C HamanoMay 2, 2011
  2. Jeff KingMay 2, 2011
  3. Jeff KingMay 2, 2011
  4. Junio C HamanoMay 2, 2011
  5. Jeff KingMay 2, 2011
  6. specifying ranges: we did not mean to make ".." an empty setJunio C Hamano, May 2, 2011
  7. Jeff KingMay 2, 2011
  8. Junio C HamanoMay 2, 2011
  9. Michael J GruberMay 3, 2011
  10. Junio C HamanoMay 3, 2011
  11. Michael J GruberMay 4, 2011
  12. Junio C HamanoMay 4, 2011
  13. Junio C HamanoMay 4, 2011
  14. Joshua JuranMay 3, 2011
  15. Michael J GruberMay 3, 2011
  16. Joshua JuranMay 3, 2011
  17. Michael J GruberMay 3, 2011
  18. Junio C HamanoMay 3, 2011
  19. John SzakmeisterMay 3, 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.