aboutsummaryrefslogtreecommitdiff
path: root/transport-helper.c
diff options
context:
space:
mode:
authorSverre Rabbelier <srabbelier@gmail.com>2011-07-16 15:03:38 +0200
committerJunio C Hamano <gitster@pobox.com>2011-07-19 11:17:48 -0700
commit9504bc9d5a1e672ce5945679f86294e61bbea3a6 (patch)
treec00f818e0fd691c9ddfd3838b85f30a2356061a7 /transport-helper.c
parent6c8151a32e59c3109b3acc886358bfe6c14612fb (diff)
downloadgit-9504bc9d5a1e672ce5945679f86294e61bbea3a6.tar.gz
git-9504bc9d5a1e672ce5945679f86294e61bbea3a6.tar.xz
transport-helper: change import semantics
Currently the helper must somehow guess how many import statements to read before it starts outputting its fast-export stream. This is because the remote helper infrastructure runs fast-import only once, so the helper is forced to output one stream for all import commands it will receive. The only reason this worked in the past was because only one ref was imported at a time. Change the semantics of the import statement such that it matches that of the push statement. That is, the import statement is followed by a series of import statements that are terminated by a '\n'. Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'transport-helper.c')
-rw-r--r--transport-helper.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/transport-helper.c b/transport-helper.c
index a8f69b05e..0c00be9dc 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -418,6 +418,9 @@ static int fetch_with_import(struct transport *transport,
sendline(data, &buf);
strbuf_reset(&buf);
}
+
+ write_constant(data->helper->in, "\n");
+
if (finish_command(&fastimport))
die("Error while running fast-import");
free(fastimport.argv);