Merge branch 'rs/use-argv-array-in-child-process'

Code cleanup.

* rs/use-argv-array-in-child-process:
  send-pack: use internal argv_array of struct child_process
  http: use internal argv_array of struct child_process
This commit is contained in:
Junio C Hamano 2018-01-05 13:28:10 -08:00
commit 0956eaa621
2 changed files with 12 additions and 27 deletions

11
http.c
View file

@ -2030,7 +2030,6 @@ int finish_http_pack_request(struct http_pack_request *preq)
char *tmp_idx;
size_t len;
struct child_process ip = CHILD_PROCESS_INIT;
const char *ip_argv[8];
close_pack_index(p);
@ -2046,13 +2045,9 @@ int finish_http_pack_request(struct http_pack_request *preq)
die("BUG: pack tmpfile does not end in .pack.temp?");
tmp_idx = xstrfmt("%.*s.idx.temp", (int)len, preq->tmpfile);
ip_argv[0] = "index-pack";
ip_argv[1] = "-o";
ip_argv[2] = tmp_idx;
ip_argv[3] = preq->tmpfile;
ip_argv[4] = NULL;
ip.argv = ip_argv;
argv_array_push(&ip.args, "index-pack");
argv_array_pushl(&ip.args, "-o", tmp_idx, NULL);
argv_array_push(&ip.args, preq->tmpfile);
ip.git_cmd = 1;
ip.no_stdin = 1;
ip.no_stdout = 1;

View file

@ -58,35 +58,25 @@ static int pack_objects(int fd, struct ref *refs, struct oid_array *extra, struc
* the revision parameters to it via its stdin and
* let its stdout go back to the other end.
*/
const char *argv[] = {
"pack-objects",
"--all-progress-implied",
"--revs",
"--stdout",
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
};
struct child_process po = CHILD_PROCESS_INIT;
FILE *po_in;
int i;
int rc;
i = 4;
argv_array_push(&po.args, "pack-objects");
argv_array_push(&po.args, "--all-progress-implied");
argv_array_push(&po.args, "--revs");
argv_array_push(&po.args, "--stdout");
if (args->use_thin_pack)
argv[i++] = "--thin";
argv_array_push(&po.args, "--thin");
if (args->use_ofs_delta)
argv[i++] = "--delta-base-offset";
argv_array_push(&po.args, "--delta-base-offset");
if (args->quiet || !args->progress)
argv[i++] = "-q";
argv_array_push(&po.args, "-q");
if (args->progress)
argv[i++] = "--progress";
argv_array_push(&po.args, "--progress");
if (is_repository_shallow())
argv[i++] = "--shallow";
po.argv = argv;
argv_array_push(&po.args, "--shallow");
po.in = -1;
po.out = args->stateless_rpc ? -1 : fd;
po.git_cmd = 1;