summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin-revert.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/builtin-revert.c b/builtin-revert.c
index 2f2dc1bbaa..652eece5ad 100644
--- a/builtin-revert.c
+++ b/builtin-revert.c
@@ -207,6 +207,7 @@ static int merge_recursive(const char *base_sha1,
const char *next_sha1, const char *next_name)
{
char buffer[256];
+ const char *argv[6];
sprintf(buffer, "GITHEAD_%s", head_sha1);
setenv(buffer, head_name, 1);
@@ -219,10 +220,14 @@ static int merge_recursive(const char *base_sha1,
* and $prev on top of us (when reverting), or the change between
* $prev and $commit on top of us (when cherry-picking or replaying).
*/
-
- return run_command_opt(RUN_COMMAND_NO_STDIN | RUN_GIT_CMD,
- "merge-recursive", base_sha1, "--",
- head_sha1, next_sha1, NULL);
+ argv[0] = "merge-recursive";
+ argv[1] = base_sha1;
+ argv[2] = "--";
+ argv[3] = head_sha1;
+ argv[4] = next_sha1;
+ argv[5] = NULL;
+
+ return run_command_v_opt(argv, RUN_COMMAND_NO_STDIN | RUN_GIT_CMD);
}
static int revert_or_cherry_pick(int argc, const char **argv)