summaryrefslogtreecommitdiff
path: root/builtin-remote.c
diff options
context:
space:
mode:
authorClemens Buchacher <drizzd@aon.at>2009-05-31 14:26:48 (GMT)
committerJunio C Hamano <gitster@pobox.com>2009-06-02 02:41:24 (GMT)
commit6d2bf96e550731499c73731e5623017d193f837f (patch)
treebccf71ac9e47910a378878be963a2851a432f74d /builtin-remote.c
parent6a01554e6350123c78de805d820e90f1c56e5fdc (diff)
downloadgit-6d2bf96e550731499c73731e5623017d193f837f.zip
git-6d2bf96e550731499c73731e5623017d193f837f.tar.gz
git-6d2bf96e550731499c73731e5623017d193f837f.tar.bz2
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.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/builtin-remote.c b/builtin-remote.c
index fda9a54..9248e0a 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;