diff options
author | Clemens Buchacher <drizzd@aon.at> | 2009-05-31 16:26:48 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-06-01 19:41:24 -0700 |
commit | 6d2bf96e550731499c73731e5623017d193f837f (patch) | |
tree | bccf71ac9e47910a378878be963a2851a432f74d /builtin-remote.c | |
parent | 6a01554e6350123c78de805d820e90f1c56e5fdc (diff) | |
download | git-6d2bf96e550731499c73731e5623017d193f837f.tar.gz |
match_refs: search ref list tail internally
Avoid code duplication by moving list tail search to match_refs().
This does not change the semantics, except for http-push, which now inserts
to the front of the ref list in order to get rid of the global remote_tail.
Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-remote.c')
-rw-r--r-- | builtin-remote.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/builtin-remote.c b/builtin-remote.c index fda9a54a0c..9248e0aac7 100644 --- a/builtin-remote.c +++ b/builtin-remote.c @@ -294,17 +294,14 @@ static int get_push_ref_states(const struct ref *remote_refs, struct ref_states *states) { struct remote *remote = states->remote; - struct ref *ref, *local_refs, *push_map, **push_tail; + struct ref *ref, *local_refs, *push_map; if (remote->mirror) return 0; local_refs = get_local_heads(); push_map = copy_ref_list(remote_refs); - push_tail = &push_map; - while (*push_tail) - push_tail = &((*push_tail)->next); - match_refs(local_refs, push_map, &push_tail, remote->push_refspec_nr, + match_refs(local_refs, &push_map, remote->push_refspec_nr, remote->push_refspec, MATCH_REFS_NONE); states->push.strdup_strings = 1; |