clone: read new remote name from remote_name instead of option_origin
authorSean Barag <redacted>
Thu, 1 Oct 2020 03:46:15 +0000 (03:46 +0000)
committerJunio C Hamano <redacted>
Thu, 1 Oct 2020 05:09:13 +0000 (22:09 -0700)
In a future patch, the name of the remote created by `git clone` may
come from multiple sources.  To avoid confusion, convert most uses of
option_origin to remote_name, leaving option_origin to exclusively
represent the -o/--origin option.

Helped-by: Derrick Stolee <redacted>
Signed-off-by: Sean Barag <redacted>
Signed-off-by: Junio C Hamano <redacted>
builtin/clone.c

index 78364a08614f66b80146e98143733e06f5169e98..c33fa127ce9c3b21726c529c9b4b867511e5a7c9 100644 (file)
@@ -53,6 +53,7 @@ static int option_shallow_submodules;
 static int deepen;
 static char *option_template, *option_depth, *option_since;
 static char *option_origin = NULL;
+static char *remote_name = "origin";
 static char *option_branch = NULL;
 static struct string_list option_not = STRING_LIST_INIT_NODUP;
 static const char *real_git_dir;
@@ -721,7 +722,7 @@ static void update_head(const struct ref *our, const struct ref *remote,
                if (!option_bare) {
                        update_ref(msg, "HEAD", &our->old_oid, NULL, 0,
                                   UPDATE_REFS_DIE_ON_ERR);
-                       install_branch_config(0, head, option_origin, our->name);
+                       install_branch_config(0, head, remote_name, our->name);
                }
        } else if (our) {
                struct commit *c = lookup_commit_reference(the_repository,
@@ -919,12 +920,12 @@ static void write_refspec_config(const char *src_ref_prefix,
                }
                /* Configure the remote */
                if (value.len) {
-                       strbuf_addf(&key, "remote.%s.fetch", option_origin);
+                       strbuf_addf(&key, "remote.%s.fetch", remote_name);
                        git_config_set_multivar(key.buf, value.buf, "^$", 0);
                        strbuf_reset(&key);
 
                        if (option_mirror) {
-                               strbuf_addf(&key, "remote.%s.mirror", option_origin);
+                               strbuf_addf(&key, "remote.%s.mirror", remote_name);
                                git_config_set(key.buf, "true");
                                strbuf_reset(&key);
                        }
@@ -1009,11 +1010,11 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
                option_no_checkout = 1;
        }
 
-       if (!option_origin)
-               option_origin = "origin";
+       if (option_origin)
+               remote_name = option_origin;
 
-       if (!valid_remote_name(option_origin))
-               die(_("'%s' is not a valid remote name"), option_origin);
+       if (!valid_remote_name(remote_name))
+               die(_("'%s' is not a valid remote name"), remote_name);
 
        repo_name = argv[0];
 
@@ -1164,15 +1165,15 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
 
                git_config_set("core.bare", "true");
        } else {
-               strbuf_addf(&branch_top, "refs/remotes/%s/", option_origin);
+               strbuf_addf(&branch_top, "refs/remotes/%s/", remote_name);
        }
 
-       strbuf_addf(&key, "remote.%s.url", option_origin);
+       strbuf_addf(&key, "remote.%s.url", remote_name);
        git_config_set(key.buf, repo);
        strbuf_reset(&key);
 
        if (option_no_tags) {
-               strbuf_addf(&key, "remote.%s.tagOpt", option_origin);
+               strbuf_addf(&key, "remote.%s.tagOpt", remote_name);
                git_config_set(key.buf, "--no-tags");
                strbuf_reset(&key);
        }
@@ -1183,7 +1184,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
        if (option_sparse_checkout && git_sparse_checkout_init(dir))
                return 1;
 
-       remote = remote_get(option_origin);
+       remote = remote_get(remote_name);
 
        strbuf_addf(&default_refspec, "+%s*:%s*", src_ref_prefix,
                    branch_top.buf);
@@ -1296,7 +1297,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
 
                        if (!our_head_points_at)
                                die(_("Remote branch %s not found in upstream %s"),
-                                   option_branch, option_origin);
+                                   option_branch, remote_name);
                }
                else
                        our_head_points_at = remote_head_points_at;
@@ -1304,7 +1305,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
        else {
                if (option_branch)
                        die(_("Remote branch %s not found in upstream %s"),
-                                       option_branch, option_origin);
+                                       option_branch, remote_name);
 
                warning(_("You appear to have cloned an empty repository."));
                mapped_refs = NULL;
@@ -1316,7 +1317,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
                        const char *branch = git_default_branch_name();
                        char *ref = xstrfmt("refs/heads/%s", branch);
 
-                       install_branch_config(0, branch, option_origin, ref);
+                       install_branch_config(0, branch, remote_name, ref);
                        free(ref);
                }
        }
@@ -1325,7 +1326,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
                        remote_head_points_at, &branch_top);
 
        if (filter_options.choice)
-               partial_clone_register(option_origin, &filter_options);
+               partial_clone_register(remote_name, &filter_options);
 
        if (is_local)
                clone_local(path, git_dir);
git clone https://git.99rst.org/PROJECT