From dfbfdc521daece092a599959da79c3c134f26b3c Mon Sep 17 00:00:00 2001 From: Felipe Contreras Date: Thu, 16 Mar 2023 11:15:14 -0600 Subject: object-name: fix quiet @{u} parsing Currently `git rev-parse --quiet @{u}` is not actually quiet when upstream isn't configured: fatal: no upstream configured for branch 'foo' Make it so. Signed-off-by: Felipe Contreras Signed-off-by: Junio C Hamano --- object-name.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'object-name.c') diff --git a/object-name.c b/object-name.c index 2dd1a0f56e..d9f3a176d8 100644 --- a/object-name.c +++ b/object-name.c @@ -898,6 +898,7 @@ 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 fatal = !(flags & GET_OID_QUIETLY); if (len == r->hash_algo->hexsz && !get_oid_hex(str, oid)) { if (warn_ambiguous_refs && warn_on_object_refname_ambiguity) { @@ -952,11 +953,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, !fatal); 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, !fatal); if (!refs_found) return -1; -- cgit v1.2.3