[PATCH 11/13] remote-curl: accept empty line as terminator
From: Sverre Rabbelier <hidden>
Date: 2016-06-15 22:49:24
Subsystem:
the rest · Maintainer:
Linus Torvalds
The remote helper infrastructure terminates with a '\n', which the remote-curl helper would interpret as a command to do '', a command it did not understand. Consequently it would 'return 1'. This went unnoticed because the transport helper infrastructure did not check the return value of the helper, nor did the helper print anything before exiting. CC: Ilari Liusvaara <redacted> CC: Daniel Barkalow <redacted> --- I noticed this when my tests suddenly broke. Bisecting pointed at the 'more rigorous return value checking' patch, after which some poking around in the remote-curl helper pointed this out as the problem. I'm not very sure about the error message, if anyone feels it should go (it indicates a bug in the remote helper infrastructure, not a user error) it can be left out as far as I'm concerned. remote-curl.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/remote-curl.c b/remote-curl.c
index 04d4813..27fcd69 100644
--- a/remote-curl.c
+++ b/remote-curl.c@@ -813,6 +813,8 @@ int main(int argc, const char **argv) do { if (strbuf_getline(&buf, stdin, '\n') == EOF) break; + if (buf.len == 0) + break; if (!prefixcmp(buf.buf, "fetch ")) { if (nongit) die("Fetch attempted without a local repo");
@@ -851,6 +853,7 @@ int main(int argc, const char **argv) printf("\n"); fflush(stdout); } else { + fprintf(stderr, "Unknown command '%s'\n", buf.buf); return 1; } strbuf_reset(&buf);
--
1.7.2.1.240.g6a95c3