aboutsummaryrefslogtreecommitdiff
path: root/remote.h
diff options
context:
space:
mode:
authorDaniel Barkalow <barkalow@iabervon.org>2007-10-29 21:05:40 -0400
committerJunio C Hamano <gitster@pobox.com>2007-11-02 22:40:43 -0700
commit4577370e9bfeca8652880b99b8499f76d18865ba (patch)
tree3df529fad99232d7f82f0389d0d8f5dc571319c8 /remote.h
parente3d6d56f1c2097f13a427e158638e5e0918e5705 (diff)
downloadgit-4577370e9bfeca8652880b99b8499f76d18865ba.tar.gz
git-4577370e9bfeca8652880b99b8499f76d18865ba.tar.xz
Miscellaneous const changes and utilities
The list of remote refs in struct transport should be const, because builtin-fetch will get confused if it changes. The url in git_connect should be const (and work on a copy) instead of requiring the caller to copy it. match_refs doesn't modify the refspecs it gets. get_fetch_map and get_remote_ref don't change the list they get. Allow transport get_refs_list methods to modify the struct transport. Add a function to copy a list of refs, when a function needs a mutable copy of a const list. Add a function to check the type of a ref, as per the code in connect.c Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'remote.h')
-rw-r--r--remote.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/remote.h b/remote.h
index 878b4ecc3..6a4c7a0f3 100644
--- a/remote.h
+++ b/remote.h
@@ -44,6 +44,10 @@ struct refspec {
struct ref *alloc_ref(unsigned namelen);
+struct ref *copy_ref_list(const struct ref *ref);
+
+int check_ref_type(const struct ref *ref, int flags);
+
/*
* Frees the entire list and peers of elements.
*/
@@ -57,7 +61,7 @@ void ref_remove_duplicates(struct ref *ref_map);
struct refspec *parse_ref_spec(int nr_refspec, const char **refspec);
int match_refs(struct ref *src, struct ref *dst, struct ref ***dst_tail,
- int nr_refspec, char **refspec, int all);
+ int nr_refspec, const char **refspec, int all);
/*
* Given a list of the remote refs and the specification of things to
@@ -71,10 +75,10 @@ int match_refs(struct ref *src, struct ref *dst, struct ref ***dst_tail,
* missing_ok is usually false, but when we are adding branch.$name.merge
* it is Ok if the branch is not at the remote anymore.
*/
-int get_fetch_map(struct ref *remote_refs, const struct refspec *refspec,
+int get_fetch_map(const struct ref *remote_refs, const struct refspec *refspec,
struct ref ***tail, int missing_ok);
-struct ref *get_remote_ref(struct ref *remote_refs, const char *name);
+struct ref *get_remote_ref(const struct ref *remote_refs, const char *name);
/*
* For the given remote, reads the refspec's src and sets the other fields.