It will become more complex in a moment.

Signed-off-by: Michael Haggerty <mhag...@alum.mit.edu>
---
 remote.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/remote.c b/remote.c
index c90a2bf..2deb2db 100644
--- a/remote.c
+++ b/remote.c
@@ -745,6 +745,15 @@ int for_each_remote(each_remote_fn fn, void *priv)
        return result;
 }
 
+static void handle_duplicate(struct ref *ref1, struct ref *ref2)
+{
+       if (strcmp(ref1->name, ref2->name))
+               die("%s tracks both %s and %s",
+                   ref2->peer_ref->name, ref1->name, ref2->name);
+       free(ref2->peer_ref);
+       free(ref2);
+}
+
 struct ref *ref_remove_duplicates(struct ref *ref_map)
 {
        struct string_list refs = STRING_LIST_INIT_NODUP;
@@ -766,14 +775,7 @@ struct ref *ref_remove_duplicates(struct ref *ref_map)
 
                        if (item->util) {
                                /* Entry already existed */
-                               if (strcmp(((struct ref *)item->util)->name,
-                                          ref->name))
-                                       die("%s tracks both %s and %s",
-                                           ref->peer_ref->name,
-                                           ((struct ref *)item->util)->name,
-                                           ref->name);
-                               free(ref->peer_ref);
-                               free(ref);
+                               handle_duplicate((struct ref *)item->util, ref);
                        } else {
                                *p = ref;
                                p = &ref->next;
-- 
1.8.4.1

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to