revert: use run_command_v_opt() instead of execv_git_cmd()
authorChristian Couder <chriscool@tuxfamily.org>
Wed, 2 Jun 2010 05:58:35 +0000 (07:58 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 2 Jun 2010 17:09:41 +0000 (10:09 -0700)
This is needed by the following commits, because we are going
to cherry pick many commits instead of just one.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/revert.c

index 5df0d690d9e656e41f3c4ce92796b662d06c95f9..02f18c2208ed67db5f8eb93c1e408e97173d7031 100644 (file)
@@ -508,6 +508,8 @@ static int revert_or_cherry_pick(int argc, const char **argv)
                }
        }
 
+       free_message(&msg);
+
        /*
         *
         * If we are cherry-pick, and if the merge did not result in
@@ -520,7 +522,9 @@ static int revert_or_cherry_pick(int argc, const char **argv)
        if (!no_commit) {
                /* 6 is max possible length of our args array including NULL */
                const char *args[6];
+               int res;
                int i = 0;
+
                args[i++] = "commit";
                args[i++] = "-n";
                if (signoff)
@@ -530,9 +534,12 @@ static int revert_or_cherry_pick(int argc, const char **argv)
                        args[i++] = defmsg;
                }
                args[i] = NULL;
-               return execv_git_cmd(args);
+               res = run_command_v_opt(args, RUN_GIT_CMD);
+               free(defmsg);
+
+               return res;
        }
-       free_message(&msg);
+
        free(defmsg);
 
        return 0;