[PATCH] rev-parse: make --quiet really be quiet
From: Felipe Contreras <hidden>
Date: 2021-06-13 02:57:28
Subsystem:
the rest · Maintainer:
Linus Torvalds
Currently `git rev-parse --quiet --verify @{upstream}` throws an error,
when it clearly shouldn't.
Signed-off-by: Felipe Contreras <redacted>
---
object-name.c | 7 ++++---
t/t1503-rev-parse-verify.sh | 2 ++
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/object-name.c b/object-name.c
index 64202de60b..b45369baab 100644
--- a/object-name.c
+++ b/object-name.c@@ -806,10 +806,11 @@ static int get_oid_basic(struct repository *r, const char *str, int len, char *real_ref = NULL; int refs_found = 0; int at, reflog_len, nth_prior = 0; + int quiet = !!(flags & GET_OID_QUIETLY); if (len == r->hash_algo->hexsz && !get_oid_hex(str, oid)) { if (warn_ambiguous_refs && warn_on_object_refname_ambiguity) { - refs_found = repo_dwim_ref(r, str, len, &tmp_oid, &real_ref, 0); + refs_found = repo_dwim_ref(r, str, len, &tmp_oid, &real_ref, quiet); if (refs_found > 0) { warning(warn_msg, len, str); if (advice_object_name_warning)
@@ -860,11 +861,11 @@ static int get_oid_basic(struct repository *r, const char *str, int len, if (!len && reflog_len) /* allow "@{...}" to mean the current branch reflog */ - refs_found = repo_dwim_ref(r, "HEAD", 4, oid, &real_ref, 0); + refs_found = repo_dwim_ref(r, "HEAD", 4, oid, &real_ref, quiet); else if (reflog_len) refs_found = repo_dwim_log(r, str, len, oid, &real_ref); else - refs_found = repo_dwim_ref(r, str, len, oid, &real_ref, 0); + refs_found = repo_dwim_ref(r, str, len, oid, &real_ref, quiet); if (!refs_found) return -1;
diff --git a/t/t1503-rev-parse-verify.sh b/t/t1503-rev-parse-verify.sh
index bf08102391..688c5abdc9 100755
--- a/t/t1503-rev-parse-verify.sh
+++ b/t/t1503-rev-parse-verify.sh@@ -83,6 +83,8 @@ test_expect_success 'fails silently when using -q' ' test_must_fail git rev-parse --quiet --verify baz HEAD 2>error && test_must_be_empty error && test_must_fail git rev-parse -q --verify $HASH2 HEAD 2>error && + test_must_be_empty error && + test_must_fail git rev-parse -q --verify @{upstream} 2>error && test_must_be_empty error '
--
2.32.0