]> git.ipfire.org Git - thirdparty/git.git/blobdiff - builtin/remote.c
Merge branch 'en/ort-perf-batch-9'
[thirdparty/git.git] / builtin / remote.c
index 717b662d4554f73621a9e173c18e78b189d45165..7f88e6ce9deb7666b7ce5cb9179b895a25281e64 100644 (file)
@@ -938,9 +938,6 @@ static int get_remote_ref_states(const char *name,
                                 struct ref_states *states,
                                 int query)
 {
-       struct transport *transport;
-       const struct ref *remote_refs;
-
        states->remote = remote_get(name);
        if (!states->remote)
                return error(_("No such remote: '%s'"), name);
@@ -948,10 +945,12 @@ static int get_remote_ref_states(const char *name,
        read_branches();
 
        if (query) {
+               struct transport *transport;
+               const struct ref *remote_refs;
+
                transport = transport_get(states->remote, states->remote->url_nr > 0 ?
                        states->remote->url[0] : NULL);
                remote_refs = transport_get_remote_refs(transport, NULL);
-               transport_disconnect(transport);
 
                states->queried = 1;
                if (query & GET_REF_STATES)
@@ -960,6 +959,7 @@ static int get_remote_ref_states(const char *name,
                        get_head_names(remote_refs, states);
                if (query & GET_PUSH_REF_STATES)
                        get_push_ref_states(remote_refs, states);
+               transport_disconnect(transport);
        } else {
                for_each_ref(append_ref_to_tracked_list, states);
                string_list_sort(&states->tracked);