get_importer: use run-command's internal argv_array

This saves a few lines and lets us avoid having to clean up
the memory manually when the command finishes.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2014-05-15 04:35:06 -04:00 коммит произвёл Junio C Hamano
Родитель 2aeae40a75
Коммит 173fd1a1a4
1 изменённых файлов: 3 добавлений и 6 удалений

Просмотреть файл

@ -394,18 +394,16 @@ static int get_importer(struct transport *transport, struct child_process *fasti
{ {
struct child_process *helper = get_helper(transport); struct child_process *helper = get_helper(transport);
struct helper_data *data = transport->data; struct helper_data *data = transport->data;
struct argv_array argv = ARGV_ARRAY_INIT;
int cat_blob_fd, code; int cat_blob_fd, code;
memset(fastimport, 0, sizeof(*fastimport)); memset(fastimport, 0, sizeof(*fastimport));
fastimport->in = helper->out; fastimport->in = helper->out;
argv_array_push(&argv, "fast-import"); argv_array_push(&fastimport->args, "fast-import");
argv_array_push(&argv, debug ? "--stats" : "--quiet"); argv_array_push(&fastimport->args, debug ? "--stats" : "--quiet");
if (data->bidi_import) { if (data->bidi_import) {
cat_blob_fd = xdup(helper->in); cat_blob_fd = xdup(helper->in);
argv_array_pushf(&argv, "--cat-blob-fd=%d", cat_blob_fd); argv_array_pushf(&fastimport->args, "--cat-blob-fd=%d", cat_blob_fd);
} }
fastimport->argv = argv.argv;
fastimport->git_cmd = 1; fastimport->git_cmd = 1;
code = start_command(fastimport); code = start_command(fastimport);
@ -476,7 +474,6 @@ static int fetch_with_import(struct transport *transport,
if (finish_command(&fastimport)) if (finish_command(&fastimport))
die("Error while running fast-import"); die("Error while running fast-import");
argv_array_free_detached(fastimport.argv);
/* /*
* The fast-import stream of a remote helper that advertises * The fast-import stream of a remote helper that advertises