Skip to content

Commit df02ebd

Browse files
mhaggergitster
authored andcommitted
ref_remote_duplicates(): extract a function handle_duplicate()
It will become more complex in a moment. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent b9afe66 commit df02ebd

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

remote.c

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -745,6 +745,15 @@ int for_each_remote(each_remote_fn fn, void *priv)
745745
return result;
746746
}
747747

748+
static void handle_duplicate(struct ref *ref1, struct ref *ref2)
749+
{
750+
if (strcmp(ref1->name, ref2->name))
751+
die("%s tracks both %s and %s",
752+
ref2->peer_ref->name, ref1->name, ref2->name);
753+
free(ref2->peer_ref);
754+
free(ref2);
755+
}
756+
748757
struct ref *ref_remove_duplicates(struct ref *ref_map)
749758
{
750759
struct string_list refs = STRING_LIST_INIT_NODUP;
@@ -766,14 +775,7 @@ struct ref *ref_remove_duplicates(struct ref *ref_map)
766775

767776
if (item->util) {
768777
/* Entry already existed */
769-
if (strcmp(((struct ref *)item->util)->name,
770-
ref->name))
771-
die("%s tracks both %s and %s",
772-
ref->peer_ref->name,
773-
((struct ref *)item->util)->name,
774-
ref->name);
775-
free(ref->peer_ref);
776-
free(ref);
778+
handle_duplicate((struct ref *)item->util, ref);
777779
} else {
778780
*p = ref;
779781
p = &ref->next;

0 commit comments

Comments
 (0)