]> git.ipfire.org Git - thirdparty/git.git/commitdiff
remote: drop checks for zero-url case
authorJeff King <peff@peff.net>
Fri, 14 Jun 2024 10:42:03 +0000 (06:42 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 14 Jun 2024 16:34:39 +0000 (09:34 -0700)
Now that the previous commit removed the possibility that a "struct
remote" will ever have zero url fields, we can drop a number of
redundant checks and untriggerable code paths.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/archive.c
builtin/ls-remote.c
builtin/push.c
builtin/remote.c
t/helper/test-bundle-uri.c
transport.c

index 0d9aff7e6f8b4aea86c740b3b9f81e8434b5280c..7234607aaaf927efcb08db3e0d582fb5130e973a 100644 (file)
@@ -31,8 +31,6 @@ static int run_remote_archiver(int argc, const char **argv,
        struct packet_reader reader;
 
        _remote = remote_get(remote);
-       if (!_remote->url.nr)
-               die(_("git archive: Remote with no URL"));
        transport = transport_get(_remote, _remote->url.v[0]);
        transport_connect(transport, "git-upload-archive", exec, fd);
 
index 4c04dbbf19543c0343fca6f82cc8d7a507c6fd96..8f3a64d8389555bea6fee1e115701e12274c14e4 100644 (file)
@@ -109,8 +109,6 @@ int cmd_ls_remote(int argc, const char **argv, const char *prefix)
                        die("bad repository '%s'", dest);
                die("No remote configured to list refs from.");
        }
-       if (!remote->url.nr)
-               die("remote %s has no configured URL", dest);
 
        if (get_url) {
                printf("%s\n", remote->url.v[0]);
index 00d99af1a8480ee6bb94a6a9344653285c0786c8..8260c6e46a72c9af42358f65a4b4ec8658913bde 100644 (file)
@@ -438,18 +438,9 @@ static int do_push(int flags,
        }
        errs = 0;
        url = push_url_of_remote(remote);
-       if (url->nr) {
-               for (i = 0; i < url->nr; i++) {
-                       struct transport *transport =
-                               transport_get(remote, url->v[i]);
-                       if (flags & TRANSPORT_PUSH_OPTIONS)
-                               transport->push_options = push_options;
-                       if (push_with_options(transport, push_refspec, flags))
-                               errs++;
-               }
-       } else {
+       for (i = 0; i < url->nr; i++) {
                struct transport *transport =
-                       transport_get(remote, NULL);
+                       transport_get(remote, url->v[i]);
                if (flags & TRANSPORT_PUSH_OPTIONS)
                        transport->push_options = push_options;
                if (push_with_options(transport, push_refspec, flags))
index 06c09ed060b09dc118fb675c229fe12c62cff774..c5c94d4dbd7eab0fffe29cad7d5d5aafec48e01c 100644 (file)
@@ -1002,8 +1002,7 @@ static int get_remote_ref_states(const char *name,
                struct transport *transport;
                const struct ref *remote_refs;
 
-               transport = transport_get(states->remote, states->remote->url.nr > 0 ?
-                       states->remote->url.v[0] : NULL);
+               transport = transport_get(states->remote, states->remote->url.v[0]);
                remote_refs = transport_get_remote_refs(transport, NULL);
 
                states->queried = 1;
@@ -1294,8 +1293,7 @@ static int show(int argc, const char **argv, const char *prefix)
                get_remote_ref_states(*argv, &info.states, query_flag);
 
                printf_ln(_("* remote %s"), *argv);
-               printf_ln(_("  Fetch URL: %s"), info.states.remote->url.nr > 0 ?
-                      info.states.remote->url.v[0] : _("(no URL)"));
+               printf_ln(_("  Fetch URL: %s"), info.states.remote->url.v[0]);
                url = push_url_of_remote(info.states.remote);
                for (i = 0; i < url->nr; i++)
                        /*
@@ -1440,10 +1438,7 @@ static int prune_remote(const char *remote, int dry_run)
        }
 
        printf_ln(_("Pruning %s"), remote);
-       printf_ln(_("URL: %s"),
-                 states.remote->url.nr
-                 ? states.remote->url.v[0]
-                 : _("(no URL)"));
+       printf_ln(_("URL: %s"), states.remote->url.v[0]);
 
        for_each_string_list_item(item, &states.stale)
                string_list_append(&refs_to_prune, item->util);
@@ -1632,8 +1627,6 @@ static int get_url(int argc, const char **argv, const char *prefix)
        }
 
        url = push_mode ? push_url_of_remote(remote) : &remote->url;
-       if (!url->nr)
-               die(_("no URLs configured for remote '%s'"), remotename);
 
        if (all_mode) {
                for (i = 0; i < url->nr; i++)
index 3285dd962e6b2131185d65d83212113102cbe2a8..0c5fa723d8dc0364776589e7af834dbf936c6666 100644 (file)
@@ -88,8 +88,6 @@ static int cmd_ls_remote(int argc, const char **argv)
                        die(_("bad repository '%s'"), dest);
                die(_("no remote configured to get bundle URIs from"));
        }
-       if (!remote->url.nr)
-               die(_("remote '%s' has no configured URL"), dest);
 
        transport = transport_get(remote, NULL);
        if (transport_get_remote_bundle_uri(transport) < 0) {
index eba92eb7e085b777d2fc7fc43c14e6d020f1f08e..a3240452400497a6de2969e406681171b3ef60c1 100644 (file)
@@ -1112,6 +1112,7 @@ static struct transport_vtable builtin_smart_vtable = {
 struct transport *transport_get(struct remote *remote, const char *url)
 {
        const char *helper;
+       const char *p;
        struct transport *ret = xcalloc(1, sizeof(*ret));
 
        ret->progress = isatty(2);
@@ -1127,19 +1128,15 @@ struct transport *transport_get(struct remote *remote, const char *url)
        ret->remote = remote;
        helper = remote->foreign_vcs;
 
-       if (!url && remote->url.nr)
+       if (!url)
                url = remote->url.v[0];
        ret->url = url;
 
-       /* maybe it is a foreign URL? */
-       if (url) {
-               const char *p = url;
-
-               while (is_urlschemechar(p == url, *p))
-                       p++;
-               if (starts_with(p, "::"))
-                       helper = xstrndup(url, p - url);
-       }
+       p = url;
+       while (is_urlschemechar(p == url, *p))
+               p++;
+       if (starts_with(p, "::"))
+               helper = xstrndup(url, p - url);
 
        if (helper) {
                transport_helper_init(ret, helper);