Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
send-pack: store refspecs in a struct refspec
author
Brandon Williams
<bmwill@google.com>
Wed, 16 May 2018 22:58:18 +0000
(15:58 -0700)
committer
Junio C Hamano
<gitster@pobox.com>
Thu, 17 May 2018 21:19:44 +0000
(06:19 +0900)
Convert send-pack.c to store refspecs in a 'struct refspec' instead of
as an array of 'const char *'.
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/send-pack.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
306f22d
)
diff --git
a/builtin/send-pack.c
b/builtin/send-pack.c
index b5427f75e34901ad8fa876cc6c53066211e4a2a0..ef512616f3016ea0e4564fea8aaa8c16ab002b32 100644
(file)
--- a/
builtin/send-pack.c
+++ b/
builtin/send-pack.c
@@
-126,8
+126,7
@@
static int send_pack_config(const char *k, const char *v, void *cb)
int cmd_send_pack(int argc, const char **argv, const char *prefix)
{
int cmd_send_pack(int argc, const char **argv, const char *prefix)
{
- int i, nr_refspecs = 0;
- const char **refspecs = NULL;
+ struct refspec rs = REFSPEC_INIT_PUSH;
const char *remote_name = NULL;
struct remote *remote = NULL;
const char *dest = NULL;
const char *remote_name = NULL;
struct remote *remote = NULL;
const char *dest = NULL;
@@
-189,8
+188,7
@@
int cmd_send_pack(int argc, const char **argv, const char *prefix)
argc = parse_options(argc, argv, prefix, options, send_pack_usage, 0);
if (argc > 0) {
dest = argv[0];
argc = parse_options(argc, argv, prefix, options, send_pack_usage, 0);
if (argc > 0) {
dest = argv[0];
- refspecs = (const char **)(argv + 1);
- nr_refspecs = argc - 1;
+ refspec_appendn(&rs, argv + 1, argc - 1);
}
if (!dest)
}
if (!dest)
@@
-209,31
+207,23
@@
int cmd_send_pack(int argc, const char **argv, const char *prefix)
args.push_options = push_options.nr ? &push_options : NULL;
if (from_stdin) {
args.push_options = push_options.nr ? &push_options : NULL;
if (from_stdin) {
- struct argv_array all_refspecs = ARGV_ARRAY_INIT;
-
- for (i = 0; i < nr_refspecs; i++)
- argv_array_push(&all_refspecs, refspecs[i]);
-
if (args.stateless_rpc) {
const char *buf;
while ((buf = packet_read_line(0, NULL)))
if (args.stateless_rpc) {
const char *buf;
while ((buf = packet_read_line(0, NULL)))
-
argv_array_push(&all_refspec
s, buf);
+
refspec_append(&r
s, buf);
} else {
struct strbuf line = STRBUF_INIT;
while (strbuf_getline(&line, stdin) != EOF)
} else {
struct strbuf line = STRBUF_INIT;
while (strbuf_getline(&line, stdin) != EOF)
-
argv_array_push(&all_refspec
s, line.buf);
+
refspec_append(&r
s, line.buf);
strbuf_release(&line);
}
strbuf_release(&line);
}
-
- refspecs = all_refspecs.argv;
- nr_refspecs = all_refspecs.argc;
}
/*
* --all and --mirror are incompatible; neither makes sense
* with any refspecs.
*/
}
/*
* --all and --mirror are incompatible; neither makes sense
* with any refspecs.
*/
- if ((
nr_refspecs
> 0 && (send_all || args.send_mirror)) ||
+ if ((
rs.nr
> 0 && (send_all || args.send_mirror)) ||
(send_all && args.send_mirror))
usage_with_options(send_pack_usage, options);
(send_all && args.send_mirror))
usage_with_options(send_pack_usage, options);
@@
-275,7
+265,7
@@
int cmd_send_pack(int argc, const char **argv, const char *prefix)
BUG("unknown protocol version");
}
BUG("unknown protocol version");
}
- transport_verify_remote_names(
nr_refspecs, refspecs
);
+ transport_verify_remote_names(
rs.raw_nr, rs.raw
);
local_refs = get_local_heads();
local_refs = get_local_heads();
@@
-287,7
+277,7
@@
int cmd_send_pack(int argc, const char **argv, const char *prefix)
flags |= MATCH_REFS_MIRROR;
/* match them up */
flags |= MATCH_REFS_MIRROR;
/* match them up */
- if (match_push_refs(local_refs, &remote_refs,
nr_refspecs, refspecs
, flags))
+ if (match_push_refs(local_refs, &remote_refs,
rs.raw_nr, rs.raw
, flags))
return -1;
if (!is_empty_cas(&cas))
return -1;
if (!is_empty_cas(&cas))