http-push: improve error log
authorPatryk Obara <patryk.obara@gmail.com>
Wed, 24 Jan 2018 11:11:53 +0000 (12:11 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 24 Jan 2018 21:42:23 +0000 (13:42 -0800)
When git push fails due to server-side WebDAV error, it's not easy to
point to the main culprit. Additional information about exact cURL
error and HTTP server response is helpful for debugging purpose.

New error log helped me pinpoint failing test t5540-http-push-webdav
to a missing Apache dependency in Fedora 27:
https://bugzilla.redhat.com/show_bug.cgi?id=1491151

Signed-off-by: Patryk Obara <patryk.obara@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
http-push.c
index 14435ab65d1bbe3fc73be6a6d774b6ab6ffc8360..0913f8ab860246f990536fd20794ac6230daf50a 100644 (file)
@@ -915,6 +915,10 @@ static struct remote_lock *lock_remote(const char *path, long timeout)
                                lock->timeout = -1;
                        }
                        XML_ParserFree(parser);
+               } else {
+                       fprintf(stderr,
+                               "error: curl result=%d, HTTP code=%ld\n",
+                               results.curl_result, results.http_code);
                }
        } else {
                fprintf(stderr, "Unable to start LOCK request\n");