diff options
author | Nicolas Vigier <boklm@mars-attacks.org> | 2013-10-31 12:08:29 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-10-31 15:47:41 -0700 |
commit | f8c872127d4c48a6ec02abce34cb059ddeb6402a (patch) | |
tree | 6667fb8cefbabb17ae4fa670a4ea882932fe8d65 /Documentation/git-rev-parse.txt | |
parent | b0d12fc9b23a0f656fe3a5dbe2899e85b7e2f5c0 (diff) | |
download | git-f8c872127d4c48a6ec02abce34cb059ddeb6402a.tar.gz |
rev-parse --parseopt: add the --stuck-long modenv/parseopt-opt-arg
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.txt | 8 |
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 |