[PATCH v4 0/4] rev-parse: allow --flags to output rev-parse-like flags
From: Jon Seymour <hidden>
Date: 2016-06-15 22:49:37
This series allows git rev-parse --flags to output remaining flag-like arguments
even if such arguments are valid options to git rev-parse itself.
Previously:
$ git rev-parse --flags -q -X --no-flags -- Y -Z
-X
$
Now:
$ git rev-parse --flags -q -X --no-flags -- Y -Z
-q -X --no-flags
$
This series also changes the interpretation of --flags so that
specification of this option implies --no-revs.
Previously:
$ git rev-parse --flags HEAD
HEAD
$
Now:
$ git rev-parse --flags HEAD
$
Reviewers attention is drawn to the following behaviour which, while
unchanged from current behaviour, differs from the behaviour specified
by the documentation. Specifically:
$ git rev-parse -X --no-flags
-X
$ git rev-parse --no-flags -X
$
In other words, a git rev-parse option only ever affects the
interpretation of succeeding options, never preceding options.
Aevar's feedback on v2 of this series has been incorporated.
Jon Seymour (4):
rev-parse: stop interpreting flags as options to rev-parse once
--flags is specified
rev-parse: add tests for git rev-parse --flags.
rev-parse: update documentation of --flags and --no-flags options
rev-parse: make --flags imply --no-revs for remaining arguments.
Documentation/git-rev-parse.txt | 12 ++++
builtin/rev-parse.c | 14 +++++-
t/t1510-rev-parse-flags.sh | 109 +++++++++++++++++++++++++++++++++++++++
3 files changed, 134 insertions(+), 1 deletions(-)
create mode 100755 t/t1510-rev-parse-flags.sh
--
1.7.3.3.gc4c52.dirty