Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
builtin/remote.c:update(): use struct argv_array
author
Michael Haggerty
<mhagger@alum.mit.edu>
Wed, 30 Oct 2013 05:33:03 +0000
(06:33 +0100)
committer
Junio C Hamano
<gitster@pobox.com>
Wed, 30 Oct 2013 21:16:40 +0000
(14:16 -0700)
Use struct argv_array for calling the "git fetch" subprocesses.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/remote.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
ce2223f
)
diff --git
a/builtin/remote.c
b/builtin/remote.c
index ecedd968d3fba70758b1e437604745322e9c90d6..bffe2f9f718c799bcd50ff51d495458b8b77b73a 100644
(file)
--- a/
builtin/remote.c
+++ b/
builtin/remote.c
@@
-6,6
+6,7
@@
#include "strbuf.h"
#include "run-command.h"
#include "refs.h"
#include "strbuf.h"
#include "run-command.h"
#include "refs.h"
+#include "argv-array.h"
static const char * const builtin_remote_usage[] = {
N_("git remote [-v | --verbose]"),
static const char * const builtin_remote_usage[] = {
N_("git remote [-v | --verbose]"),
@@
-1376,36
+1377,36
@@
static int update(int argc, const char **argv)
N_("prune remotes after fetching")),
OPT_END()
};
N_("prune remotes after fetching")),
OPT_END()
};
- const char **fetch_argv;
- int fetch_argc = 0;
+ struct argv_array fetch_argv = ARGV_ARRAY_INIT;
int default_defined = 0;
int default_defined = 0;
-
- fetch_argv = xmalloc(sizeof(char *) * (argc+5));
+ int retval;
argc = parse_options(argc, argv, NULL, options, builtin_remote_update_usage,
PARSE_OPT_KEEP_ARGV0);
argc = parse_options(argc, argv, NULL, options, builtin_remote_update_usage,
PARSE_OPT_KEEP_ARGV0);
-
fetch_argv[fetch_argc++] = "fetch"
;
+
argv_array_push(&fetch_argv, "fetch")
;
if (prune)
if (prune)
-
fetch_argv[fetch_argc++] = "--prune"
;
+
argv_array_push(&fetch_argv, "--prune")
;
if (verbose)
if (verbose)
-
fetch_argv[fetch_argc++] = "-v"
;
-
fetch_argv[fetch_argc++] = "--multiple"
;
+
argv_array_push(&fetch_argv, "-v")
;
+
argv_array_push(&fetch_argv, "--multiple")
;
if (argc < 2)
if (argc < 2)
-
fetch_argv[fetch_argc++] = "default"
;
+
argv_array_push(&fetch_argv, "default")
;
for (i = 1; i < argc; i++)
for (i = 1; i < argc; i++)
-
fetch_argv[fetch_argc++] = argv[i]
;
+
argv_array_push(&fetch_argv, argv[i])
;
- if (strcmp(fetch_argv
[fetch_
argc-1], "default") == 0) {
+ if (strcmp(fetch_argv
.argv[fetch_argv.
argc-1], "default") == 0) {
git_config(get_remote_default, &default_defined);
git_config(get_remote_default, &default_defined);
- if (!default_defined)
- fetch_argv[fetch_argc-1] = "--all";
+ if (!default_defined) {
+ argv_array_pop(&fetch_argv);
+ argv_array_push(&fetch_argv, "--all");
+ }
}
}
-
fetch_argv[fetch_argc] = NULL
;
-
- return r
un_command_v_opt(fetch_argv, RUN_GIT_CMD)
;
+
retval = run_command_v_opt(fetch_argv.argv, RUN_GIT_CMD)
;
+ argv_array_clear(&fetch_argv);
+ return r
etval
;
}
static int remove_all_fetch_refspecs(const char *remote, const char *key)
}
static int remove_all_fetch_refspecs(const char *remote, const char *key)