diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-04-14 18:37:14 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-04-14 18:37:14 -0700 |
commit | e0735442eee5af8c3f50b3e2d820fa9e4c4a1c53 (patch) | |
tree | 9894aecb5f2efd10d4f6542b498fe2403afc3f68 | |
parent | Merge branch 'oa/doc-diff-check' into maint (diff) | |
parent | upload-pack: use argv_array for pack_objects (diff) | |
download | tgif-e0735442eee5af8c3f50b3e2d820fa9e4c4a1c53.tar.xz |
Merge branch 'mp/upload-pack-use-embedded-args' into maint
The embedded args argv-array in the child process is used to build
the command line to run pack-objects instead of using a separate
array of strings.
* mp/upload-pack-use-embedded-args:
upload-pack: use argv_array for pack_objects
-rw-r--r-- | upload-pack.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/upload-pack.c b/upload-pack.c index b3f6653ffd..dc802a07c2 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -90,35 +90,32 @@ static void create_pack_file(void) "corruption on the remote side."; int buffered = -1; ssize_t sz; - const char *argv[13]; - int i, arg = 0; + int i; FILE *pipe_fd; if (shallow_nr) { - argv[arg++] = "--shallow-file"; - argv[arg++] = ""; + argv_array_push(&pack_objects.args, "--shallow-file"); + argv_array_push(&pack_objects.args, ""); } - argv[arg++] = "pack-objects"; - argv[arg++] = "--revs"; + argv_array_push(&pack_objects.args, "pack-objects"); + argv_array_push(&pack_objects.args, "--revs"); if (use_thin_pack) - argv[arg++] = "--thin"; + argv_array_push(&pack_objects.args, "--thin"); - argv[arg++] = "--stdout"; + argv_array_push(&pack_objects.args, "--stdout"); if (shallow_nr) - argv[arg++] = "--shallow"; + argv_array_push(&pack_objects.args, "--shallow"); if (!no_progress) - argv[arg++] = "--progress"; + argv_array_push(&pack_objects.args, "--progress"); if (use_ofs_delta) - argv[arg++] = "--delta-base-offset"; + argv_array_push(&pack_objects.args, "--delta-base-offset"); if (use_include_tag) - argv[arg++] = "--include-tag"; - argv[arg++] = NULL; + argv_array_push(&pack_objects.args, "--include-tag"); pack_objects.in = -1; pack_objects.out = -1; pack_objects.err = -1; pack_objects.git_cmd = 1; - pack_objects.argv = argv; if (start_command(&pack_objects)) die("git upload-pack: unable to fork git-pack-objects"); |