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 <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
7556e5d737
commit
dfbfdc521d
@ -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;
|
||||
|
Reference in New Issue
Block a user