rev-parse: -- is sometimes a flag and sometimes an arg?
- From
- Tim Hockin <thockin@google.com>
- Date
- Aug 20, 2022, 22:39 UTC
- Message-ID
- <CAO_RewbD+BJd1hPKCmCNM8wYBSUmZ2TuOoy6t1up1CT-rbn4DA@mail.gmail.com>
``` $ git rev-parse unknown-tag unknown-tag fatal: ambiguous argument 'unknown-tag': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' ```
OK
``` $ git rev-parse unknown-tag -- fatal: bad revision 'unknown-tag' ```
Much nicer error. But:
``` $ git rev-parse HEAD -- 113a928239196d0d9f70671517ce917071ceecf6 -- ```
That's not very nice. Why is "--" treated as an arg?
``` $ git rev-parse HEAD 113a928239196d0d9f70671517ce917071ceecf6 ```
Looking at rev-parse code it SEEMS to be intentional, but I can't comprehend why.
Tim