diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-11-21 15:14:38 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-11-21 15:14:38 -0800 |
commit | 0dd171f0bc59f8f1a5bb6741276c35caf2d4117d (patch) | |
tree | 853538d38c33aa929a2a8208bc15f191b231adcb /Documentation | |
parent | Merge branch 'jc/format-patch-name-max' (diff) | |
parent | rev-parse: handle --end-of-options (diff) | |
download | tgif-0dd171f0bc59f8f1a5bb6741276c35caf2d4117d.tar.xz |
Merge branch 'jk/rev-parse-end-of-options'
"git rev-parse" learned the "--end-of-options" to help scripts to
safely take a parameter that is supposed to be a revision, e.g.
"git rev-parse --verify -q --end-of-options $rev".
* jk/rev-parse-end-of-options:
rev-parse: handle --end-of-options
rev-parse: put all options under the "-" check
rev-parse: don't accept options after dashdash
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/git-rev-parse.txt | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt index 19b12b6d43..5013daa6ef 100644 --- a/Documentation/git-rev-parse.txt +++ b/Documentation/git-rev-parse.txt @@ -109,6 +109,10 @@ names an existing object that is a commit-ish (i.e. a commit, or an annotated tag that points at a commit). To make sure that `$VAR` names an existing object of any type, `git rev-parse "$VAR^{object}"` can be used. ++ +Note that if you are verifying a name from an untrusted source, it is +wise to use `--end-of-options` so that the name argument is not mistaken +for another option. -q:: --quiet:: @@ -446,7 +450,7 @@ $ git rev-parse --verify HEAD * Print the commit object name from the revision in the $REV shell variable: + ------------ -$ git rev-parse --verify $REV^{commit} +$ git rev-parse --verify --end-of-options $REV^{commit} ------------ + This will error out if $REV is empty or not a valid revision. @@ -454,7 +458,7 @@ This will error out if $REV is empty or not a valid revision. * Similar to above: + ------------ -$ git rev-parse --default master --verify $REV +$ git rev-parse --default master --verify --end-of-options $REV ------------ + but if $REV is empty, the commit object name from master will be printed. |