Replace the convenience functions run_command_v_opt() et. al. and use struct child_process and run_command() directly instead, for an overall code reduction and a simpler and more flexible API that allows creating argument lists without magic numbers and reduced risk of memory leaks. This is a broken-out and polished version of the original scratch at https://lore.kernel.org/git/9d924a5d-5c72-fbe6-270c-a8f6c5fc5850@xxxxxx/ Ævar Arnfjörð Bjarmason (1): merge: remove always-the-same "verbose" arguments René Scharfe (7): bisect--helper: factor out do_bisect_run() use child_process members "args" and "env" directly use child_process member "args" instead of string array variable replace and remove run_command_v_opt_cd_env() replace and remove run_command_v_opt_tr2() replace and remove run_command_v_opt_cd_env_tr2() replace and remove run_command_v_opt() add-interactive.c | 9 ++- bisect.c | 12 ++-- builtin/add.c | 19 +++-- builtin/am.c | 12 ++-- builtin/bisect--helper.c | 68 +++++++++--------- builtin/clone.c | 41 ++++++----- builtin/difftool.c | 24 ++++--- builtin/fetch.c | 9 ++- builtin/gc.c | 55 ++++++++++----- builtin/merge-index.c | 4 +- builtin/merge.c | 53 ++++++-------- builtin/pull.c | 147 +++++++++++++++++++-------------------- builtin/remote.c | 40 +++++------ compat/mingw.c | 11 +-- diff.c | 27 ++++--- fsmonitor-ipc.c | 10 ++- git.c | 15 ++-- ll-merge.c | 7 +- merge.c | 18 ++--- run-command.c | 35 ---------- run-command.h | 33 +-------- scalar.c | 13 ++-- sequencer.c | 32 ++++----- shell.c | 17 +++-- t/helper/test-fake-ssh.c | 7 +- t/helper/test-trace2.c | 4 +- tmp-objdir.h | 4 +- 27 files changed, 344 insertions(+), 382 deletions(-) -- 2.38.1