aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/git-rev-parse.txt
diff options
context:
space:
mode:
authorNicolas Vigier <boklm@mars-attacks.org>2013-10-31 12:08:29 +0100
committerJunio C Hamano <gitster@pobox.com>2013-10-31 15:47:41 -0700
commitf8c872127d4c48a6ec02abce34cb059ddeb6402a (patch)
tree6667fb8cefbabb17ae4fa670a4ea882932fe8d65 /Documentation/git-rev-parse.txt
parentb0d12fc9b23a0f656fe3a5dbe2899e85b7e2f5c0 (diff)
downloadgit-f8c872127d4c48a6ec02abce34cb059ddeb6402a.tar.gz
rev-parse --parseopt: add the --stuck-long mode
Add the --stuck-long option to output the options in their long form if available, and with their arguments stuck. Contrary to the default form (non stuck arguments and short options), this can be parsed unambiguously when using options with optional arguments : - in the non stuck form, when an option is taking an optional argument you cannot know if the next argument is its optional argument, or the next option. - the long options form allows to differentiate between an empty argument '--option=' and an unset argument '--option', which is not possible with short options. Signed-off-by: Nicolas Vigier <boklm@mars-attacks.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-rev-parse.txt')
-rw-r--r--Documentation/git-rev-parse.txt8
1 files changed, 7 insertions, 1 deletions
diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt
index d068a65377..a436b24cc4 100644
--- a/Documentation/git-rev-parse.txt
+++ b/Documentation/git-rev-parse.txt
@@ -50,6 +50,10 @@ Options for --parseopt
the first non-option argument. This can be used to parse sub-commands
that take options themselves.
+--stuck-long::
+ Only meaningful in `--parseopt` mode. Output the options in their
+ long form if available, and with their arguments stuck.
+
Options for Filtering
~~~~~~~~~~~~~~~~~~~~~
@@ -285,7 +289,9 @@ Each line of options has this format:
`<flags>` are of `*`, `=`, `?` or `!`.
* Use `=` if the option takes an argument.
- * Use `?` to mean that the option is optional (though its use is discouraged).
+ * Use `?` to mean that the option takes an optional argument. You
+ probably want to use the `--stuck-long` mode to be able to
+ unambiguously parse the optional argument.
* Use `*` to mean that this option should not be listed in the usage
generated for the `-h` argument. It's shown for `--help-all` as