Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
remote: convert get_ref_match to take a struct refspec
author
Brandon Williams
<bmwill@google.com>
Wed, 16 May 2018 22:58:13 +0000
(15:58 -0700)
committer
Junio C Hamano
<gitster@pobox.com>
Thu, 17 May 2018 21:19:43 +0000
(06:19 +0900)
Convert 'get_ref_match()' to take a 'struct refspec' as a parameter
instead of a list of 'struct refspec_item'.
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
remote.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
86baf82
)
diff --git
a/remote.c
b/remote.c
index dd68e6b22d41deec341d08761bfb9be195e7c845..9eb79ea19716a983ac0fba0d9253da47cbf8232d 100644
(file)
--- a/
remote.c
+++ b/
remote.c
@@
-1082,27
+1082,29
@@
static int match_explicit_refs(struct ref *src, struct ref *dst,
return errs;
}
return errs;
}
-static char *get_ref_match(const struct refspec_item *rs, int rs_nr, const struct ref *ref,
- int send_mirror, int direction, const struct refspec_item **ret_pat)
+static char *get_ref_match(const struct refspec *rs, const struct ref *ref,
+ int send_mirror, int direction,
+ const struct refspec_item **ret_pat)
{
const struct refspec_item *pat;
char *name;
int i;
int matching_refs = -1;
{
const struct refspec_item *pat;
char *name;
int i;
int matching_refs = -1;
- for (i = 0; i < rs_nr; i++) {
- if (rs[i].matching &&
- (matching_refs == -1 || rs[i].force)) {
+ for (i = 0; i < rs->nr; i++) {
+ const struct refspec_item *item = &rs->items[i];
+ if (item->matching &&
+ (matching_refs == -1 || item->force)) {
matching_refs = i;
continue;
}
matching_refs = i;
continue;
}
- if (
rs[i].
pattern) {
- const char *dst_side =
rs[i].dst ? rs[i].dst : rs[i].
src;
+ if (
item->
pattern) {
+ const char *dst_side =
item->dst ? item->dst : item->
src;
int match;
if (direction == FROM_SRC)
int match;
if (direction == FROM_SRC)
- match = match_name_with_pattern(
rs[i].
src, ref->name, dst_side, &name);
+ match = match_name_with_pattern(
item->
src, ref->name, dst_side, &name);
else
else
- match = match_name_with_pattern(dst_side, ref->name,
rs[i].
src, &name);
+ match = match_name_with_pattern(dst_side, ref->name,
item->
src, &name);
if (match) {
matching_refs = i;
break;
if (match) {
matching_refs = i;
break;
@@
-1112,7
+1114,7
@@
static char *get_ref_match(const struct refspec_item *rs, int rs_nr, const struc
if (matching_refs == -1)
return NULL;
if (matching_refs == -1)
return NULL;
- pat =
rs + matching_refs
;
+ pat =
&rs->items[matching_refs]
;
if (pat->matching) {
/*
* "matching refs"; traditionally we pushed everything
if (pat->matching) {
/*
* "matching refs"; traditionally we pushed everything
@@
-1309,7
+1311,7
@@
int match_push_refs(struct ref *src, struct ref **dst,
const struct refspec_item *pat = NULL;
char *dst_name;
const struct refspec_item *pat = NULL;
char *dst_name;
- dst_name = get_ref_match(
rs.items, rs.nr
, ref, send_mirror, FROM_SRC, &pat);
+ dst_name = get_ref_match(
&rs
, ref, send_mirror, FROM_SRC, &pat);
if (!dst_name)
continue;
if (!dst_name)
continue;
@@
-1358,7
+1360,7
@@
int match_push_refs(struct ref *src, struct ref **dst,
/* We're already sending something to this ref. */
continue;
/* We're already sending something to this ref. */
continue;
- src_name = get_ref_match(
rs.items, rs.nr
, ref, send_mirror, FROM_DST, NULL);
+ src_name = get_ref_match(
&rs
, ref, send_mirror, FROM_DST, NULL);
if (src_name) {
if (!src_ref_index.nr)
prepare_ref_index(&src_ref_index, src);
if (src_name) {
if (!src_ref_index.nr)
prepare_ref_index(&src_ref_index, src);