diff options
-rw-r--r-- | builtin-for-each-ref.c | 6 | ||||
-rwxr-xr-x | t/t6300-for-each-ref.sh | 39 |
2 files changed, 42 insertions, 3 deletions
diff --git a/builtin-for-each-ref.c b/builtin-for-each-ref.c index daf3a08165..f36a43c264 100644 --- a/builtin-for-each-ref.c +++ b/builtin-for-each-ref.c @@ -13,8 +13,8 @@ #define QUOTE_NONE 0 #define QUOTE_SHELL 1 #define QUOTE_PERL 2 -#define QUOTE_PYTHON 3 -#define QUOTE_TCL 4 +#define QUOTE_PYTHON 4 +#define QUOTE_TCL 8 typedef enum { FIELD_STR, FIELD_ULONG, FIELD_TIME } cmp_type; @@ -861,7 +861,7 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix) usage_with_options(for_each_ref_usage, opts); } if (HAS_MULTI_BITS(quote_style)) { - error("more than one quoting style ?"); + error("more than one quoting style?"); usage_with_options(for_each_ref_usage, opts); } if (verify_format(format)) diff --git a/t/t6300-for-each-ref.sh b/t/t6300-for-each-ref.sh index c722635050..8a23aaf21b 100755 --- a/t/t6300-for-each-ref.sh +++ b/t/t6300-for-each-ref.sh @@ -169,5 +169,44 @@ test_expect_success 'Verify descending sort' ' git diff expected actual ' +cat >expected <<\EOF +'refs/heads/master' +'refs/tags/testtag' +EOF + +test_expect_success 'Quoting style: shell' ' + git for-each-ref --shell --format="%(refname)" >actual && + git diff expected actual +' + +test_expect_success 'Quoting style: perl' ' + git for-each-ref --perl --format="%(refname)" >actual && + git diff expected actual +' + +test_expect_success 'Quoting style: python' ' + git for-each-ref --python --format="%(refname)" >actual && + git diff expected actual +' + +cat >expected <<\EOF +"refs/heads/master" +"refs/tags/testtag" +EOF + +test_expect_success 'Quoting style: tcl' ' + git for-each-ref --tcl --format="%(refname)" >actual && + git diff expected actual +' + +for i in "--perl --shell" "-s --python" "--python --tcl" "--tcl --perl"; do + test_expect_success "more than one quoting style: $i" " + git for-each-ref $i 2>&1 | (read line && + case \$line in + \"error: more than one quoting style\"*) : happy;; + *) false + esac) + " +done test_done |