Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2017-07-13 17:56:10 +0300
committerJunio C Hamano <gitster@pobox.com>2017-07-13 22:42:50 +0300
commit2eda0102beb85b97bd43708176d81feabaf161e8 (patch)
treec87815f88fbc559d434b3a8dd2c129803416de10 /builtin/verify-tag.c
parent80145b1e412719c960036c8c62a9e35dd23a5b2d (diff)
check return value of verify_ref_format()
Users of the ref-filter code must call verify_ref_format() before formatting any refs, but most ignore its return value. This means we may print an error on a syntactically bogus pattern, but keep going anyway. In most cases this results in a fatal error when we actually try to format a ref. But if you have no refs to show at all, then the behavior is confusing: git prints the error from verify_ref_format(), then exits with code 0 without showing any output. Let's instead abort immediately if we know we have a bogus format. We'll output the usage information if we have it handy (just like the existing call in cmd_for_each_ref() does), and otherwise just die(). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/verify-tag.c')
-rw-r--r--builtin/verify-tag.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/builtin/verify-tag.c b/builtin/verify-tag.c
index f9a5f7535a..a10eca2b2d 100644
--- a/builtin/verify-tag.c
+++ b/builtin/verify-tag.c
@@ -51,7 +51,9 @@ int cmd_verify_tag(int argc, const char **argv, const char *prefix)
flags |= GPG_VERIFY_VERBOSE;
if (fmt_pretty) {
- verify_ref_format(fmt_pretty);
+ if (verify_ref_format(fmt_pretty))
+ usage_with_options(verify_tag_usage,
+ verify_tag_options);
flags |= GPG_VERIFY_OMIT_STATUS;
}