File tree Expand file tree Collapse file tree 1 file changed +10
-8
lines changed Expand file tree Collapse file tree 1 file changed +10
-8
lines changed Original file line number Diff line number Diff 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+
748757struct 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 ;
You can’t perform that action at this time.
0 commit comments