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

No clear API/Error message to validate a "revision object" using git rev-parse

From
ΝΣΝτέντος Σταύρος <stdedos@gmail.com>
Date
Jan 29, 2019, 09:25 UTC
Message-ID
<CAHMHMxWpqTDyCQPXPY6WPeMBHFzYGE=Z0Q8pSL=9TecwuP9fwg@mail.gmail.com>
Hello there everyone,

Minor bug report: I have a utility script to find "reference points" that contain a commit (git-x-in-y)

The script needs to accept "any valid reference point", that includes e.g. tags as well. I validate said input by passing whatever argument through git rev-parse.

If the tag name is invalid, say: $ git rev-parse version.3 version.3 fatal: ambiguous argument 'version.3': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]'

So, I follow the recommendation to add '--', since I know that I won't be adding any paths:

$ git rev-parse version.3 -- fatal: bad revision 'version.3'

However, what happens with the correct tags is, I get the trailing double dash in: $ git rev-parse version-0.false -- d43292476ea9ab8c3d32940352b680549b64e8d8 -- $

A further leading argument, e.g. '' makes the situation worse: $ git rev-parse version-0.false -- '' d43292476ea9ab8c3d32940352b680549b64e8d8 --

$

`--verify`s error message is even more cryptic: $ git rev-parse --verify version.3 fatal: Needed a single revision $ git rev-parse --verify version-0.false 80f20b100cca5166b22cbcc1f4a6ac1eae64a0d0

Further attempts do not help either: $ git rev-parse --revs-only version-3 ; echo $? 0 $

Am I writing the command wrong, or is there some part of it I don't understand?
Ntentos Stavros
Next: Christian Couder
Message 1 of 3 in “No clear API/Error message to validate a "revision object" using git rev-parse”
  1. Ντέντος ΣταύροςJan 29, 2019
  2. Christian CouderJan 29, 2019
  3. Ντέντος ΣταύροςJan 29, 2019

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.