aboutsummaryrefslogtreecommitdiff
path: root/credential-cache.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2012-01-09 23:57:33 -0500
committerJunio C Hamano <gitster@pobox.com>2012-01-10 10:10:43 -0800
commit8ec6c8d79567a71ca3c6f1ec73eb453d371b1ade (patch)
tree642e28c99507b732e200eacf9c5440eec0acbab9 /credential-cache.c
parent1eb10f4091931d6b89ff10edad63ce9c01ed17fd (diff)
downloadgit-8ec6c8d79567a71ca3c6f1ec73eb453d371b1ade.tar.gz
git-8ec6c8d79567a71ca3c6f1ec73eb453d371b1ade.tar.xz
credential-cache: report more daemon connection errors
Originally, this code remained relatively silent when we failed to connect to the cache. The idea was that it was simply a cache, and we didn't want to bother the user with temporary failures (the worst case is that we would simply ask their password again). However, if you have a configuration failure or other problem, it is helpful for the daemon to report those problems. Git will happily ignore the failed error code, but the extra information to stderr can help the user diagnose the problem. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'credential-cache.c')
-rw-r--r--credential-cache.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/credential-cache.c b/credential-cache.c
index b15a9a744..193301877 100644
--- a/credential-cache.c
+++ b/credential-cache.c
@@ -71,10 +71,14 @@ static void do_cache(const char *socket, const char *action, int timeout,
die_errno("unable to relay credential");
}
- if (send_request(socket, &buf) < 0 && (flags & FLAG_SPAWN)) {
- spawn_daemon(socket);
- if (send_request(socket, &buf) < 0)
+ if (send_request(socket, &buf) < 0) {
+ if (errno != ENOENT)
die_errno("unable to connect to cache daemon");
+ if (flags & FLAG_SPAWN) {
+ spawn_daemon(socket);
+ if (send_request(socket, &buf) < 0)
+ die_errno("unable to connect to cache daemon");
+ }
}
strbuf_release(&buf);
}