]> git.ipfire.org Git - thirdparty/git.git/blobdiff - remote.c
refs: convert dwim_ref and expand_ref to struct object_id
[thirdparty/git.git] / remote.c
index 41130900698893f46dd18b817a7e6b6485c735a4..685e776a65ed9c971ab6952ebfd886f78b451181 100644 (file)
--- a/remote.c
+++ b/remote.c
@@ -466,7 +466,6 @@ static void alias_all_urls(void)
 static void read_config(void)
 {
        static int loaded;
-       struct object_id oid;
        int flag;
 
        if (loaded)
@@ -475,7 +474,7 @@ static void read_config(void)
 
        current_branch = NULL;
        if (startup_info->have_repository) {
-               const char *head_ref = resolve_ref_unsafe("HEAD", 0, oid.hash, &flag);
+               const char *head_ref = resolve_ref_unsafe("HEAD", 0, NULL, &flag);
                if (head_ref && (flag & REF_ISSYMREF) &&
                    skip_prefix(head_ref, "refs/heads/", &head_ref)) {
                        current_branch = make_branch(head_ref, 0);
@@ -1105,10 +1104,9 @@ static struct ref *make_linked_ref(const char *name, struct ref ***tail)
 static char *guess_ref(const char *name, struct ref *peer)
 {
        struct strbuf buf = STRBUF_INIT;
-       struct object_id oid;
 
        const char *r = resolve_ref_unsafe(peer->name, RESOLVE_REF_READING,
-                                          oid.hash, NULL);
+                                          NULL, NULL);
        if (!r)
                return NULL;
 
@@ -1166,12 +1164,11 @@ static int match_explicit(struct ref *src, struct ref *dst,
                return -1;
 
        if (!dst_value) {
-               struct object_id oid;
                int flag;
 
                dst_value = resolve_ref_unsafe(matched_src->name,
                                               RESOLVE_REF_READING,
-                                              oid.hash, &flag);
+                                              NULL, &flag);
                if (!dst_value ||
                    ((flag & REF_ISSYMREF) &&
                     !starts_with(dst_value, "refs/heads/")))
@@ -1632,7 +1629,7 @@ static void set_merge(struct branch *ret)
                    strcmp(ret->remote_name, "."))
                        continue;
                if (dwim_ref(ret->merge_name[i], strlen(ret->merge_name[i]),
-                            oid.hash, &ref) == 1)
+                            &oid, &ref) == 1)
                        ret->merge[i]->dst = ref;
                else
                        ret->merge[i]->dst = xstrdup(ret->merge_name[i]);
@@ -1792,10 +1789,9 @@ const char *branch_get_push(struct branch *branch, struct strbuf *err)
 
 static int ignore_symref_update(const char *refname)
 {
-       struct object_id oid;
        int flag;
 
-       if (!resolve_ref_unsafe(refname, 0, oid.hash, &flag))
+       if (!resolve_ref_unsafe(refname, 0, NULL, &flag))
                return 0; /* non-existing refs are OK */
        return (flag & REF_ISSYMREF);
 }
@@ -2006,13 +2002,13 @@ int stat_tracking_info(struct branch *branch, int *num_ours, int *num_theirs,
                return -1;
 
        /* Cannot stat if what we used to build on no longer exists */
-       if (read_ref(base, oid.hash))
+       if (read_ref(base, &oid))
                return -1;
        theirs = lookup_commit_reference(&oid);
        if (!theirs)
                return -1;
 
-       if (read_ref(branch->refname, oid.hash))
+       if (read_ref(branch->refname, &oid))
                return -1;
        ours = lookup_commit_reference(&oid);
        if (!ours)
@@ -2331,7 +2327,7 @@ static int remote_tracking(struct remote *remote, const char *refname,
        dst = apply_refspecs(remote->fetch, remote->fetch_refspec_nr, refname);
        if (!dst)
                return -1; /* no tracking ref for refname at remote */
-       if (read_ref(dst, oid->hash))
+       if (read_ref(dst, oid))
                return -1; /* we know what the tracking ref is but we cannot read it */
        return 0;
 }