# [PATCH 1/8] Switch to run_command_v_opt in revert

3 messages from 2007-03-10 to 2007-03-11. Participants: Shawn O. Pearce, Johannes Schindelin.
Thread: https://gitlist.dev/t/7175

## Shawn O. Pearce, 2007-03-10 08:27

Subject: [PATCH 1/8] Switch to run_command_v_opt in revert
Message-ID: <20070310082728.GA4133@spearce.org>
URL: https://gitlist.dev/e/20070310082728.GA4133%40spearce.org

```
Another change by me is removing the va_list variants of run_command,
one of which is used by builtin-revert.c.  To avoid compile errors
I'm refactoring builtin-revert to use the char** variant instead,
as that variant is staying.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
---

 This is on top of Dscho's builtin revert topic, currently in next.
 The rest of this series is however on top of master.

 builtin-revert.c |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/builtin-revert.c b/builtin-revert.c
index 2f2dc1b..652eece 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)
-- 
1.5.0.3.942.g299f

```

## Johannes Schindelin, 2007-03-10 16:55

Subject: Re: [PATCH 1/8] Switch to run_command_v_opt in revert
Message-ID: <Pine.LNX.4.63.0703101755090.22628@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0703101755090.22628%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <20070310082728.GA4133@spearce.org>

```
Hi,

On Sat, 10 Mar 2007, Shawn O. Pearce wrote:

> Another change by me is removing the va_list variants of run_command,
> one of which is used by builtin-revert.c.  To avoid compile errors
> I'm refactoring builtin-revert to use the char** variant instead,
> as that variant is staying.
> 
> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
> ---
> 
>  This is on top of Dscho's builtin revert topic, currently in next.
>  The rest of this series is however on top of master.

ACK.

I did not realize that -revert and -cherry-pick would be the only users...

Ciao,
Dscho

```

## Shawn O. Pearce, 2007-03-11 01:46

Subject: Re: [PATCH 1/8] Switch to run_command_v_opt in revert
Message-ID: <20070311014640.GB10343@spearce.org>
URL: https://gitlist.dev/e/20070311014640.GB10343%40spearce.org
In-Reply-To: <Pine.LNX.4.63.0703101755090.22628@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> On Sat, 10 Mar 2007, Shawn O. Pearce wrote:
> > Another change by me is removing the va_list variants of run_command,
> > one of which is used by builtin-revert.c.  To avoid compile errors
> > I'm refactoring builtin-revert to use the char** variant instead,
> > as that variant is staying.
> 
> I did not realize that -revert and -cherry-pick would be the only users...

I didn't realize how little those functions were used either until
I started poking around in there.  I'm actually shocked that your
builtin-revert rewrite was the only one using it.  ;-)

-- 
Shawn.

```
