Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
ref_remote_duplicates(): extract a function handle_duplicate()
author
Michael Haggerty
<mhagger@alum.mit.edu>
Wed, 30 Oct 2013 05:33:10 +0000
(06:33 +0100)
committer
Junio C Hamano
<gitster@pobox.com>
Wed, 30 Oct 2013 21:16:41 +0000
(14:16 -0700)
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>
remote.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
b9afe66
)
diff --git
a/remote.c
b/remote.c
index f803990760accb3e0d49dcde7c95965e326e6147..4bed101da618e491ebeb31c0a31cd86654afa504 100644
(file)
--- a/
remote.c
+++ b/
remote.c
@@
-745,6
+745,15
@@
int for_each_remote(each_remote_fn fn, void *priv)
return result;
}
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;
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 (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;
} else {
*p = ref;
p = &ref->next;