summaryrefslogtreecommitdiff
path: root/remote.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-07-08 20:56:53 (GMT)
committerJunio C Hamano <gitster@pobox.com>2013-07-08 21:34:24 (GMT)
commit47a59185369b8905ad3a4012688cba92fd2ac1ff (patch)
tree7e271a236273885e4188eb7e1910ba932bd2a1eb /remote.c
parentf8abaebab3fe1a1b873f9636ea410ac4007c8fa8 (diff)
downloadgit-47a59185369b8905ad3a4012688cba92fd2ac1ff.zip
git-47a59185369b8905ad3a4012688cba92fd2ac1ff.tar.gz
git-47a59185369b8905ad3a4012688cba92fd2ac1ff.tar.bz2
cache.h: move remote/connect API out of it
The definition of "struct ref" in "cache.h", a header file so central to the system, always confused me. This structure is not about the local ref used by sha1-name API to name local objects. It is what refspecs are expanded into, after finding out what refs the other side has, to define what refs are updated after object transfer succeeds to what values. It belongs to "remote.h" together with "struct refspec". While we are at it, also move the types and functions related to the Git transport connection to a new header file connect.h Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'remote.c')
-rw-r--r--remote.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/remote.c b/remote.c
index 6f57830..b1ff7a2 100644
--- a/remote.c
+++ b/remote.c
@@ -1302,6 +1302,14 @@ static void add_missing_tags(struct ref *src, struct ref **dst, struct ref ***ds
free(sent_tips.tip);
}
+struct ref *find_ref_by_name(const struct ref *list, const char *name)
+{
+ for ( ; list; list = list->next)
+ if (!strcmp(list->name, name))
+ return (struct ref *)list;
+ return NULL;
+}
+
/*
* Given the set of refs the local repository has, the set of refs the
* remote repository has, and the refspec used for push, determine