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 and v4 of this series has been incorporated. v5 fixes a breakage in support of --no-revs option introduced by v4 and updates the test to add tests that would have prevented that breakage being introduced. 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 | 127 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 152 insertions(+), 1 deletions(-) create mode 100755 t/t1510-rev-parse-flags.sh -- 1.7.3.4.g9eb38 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html