From: Sverre Rabbelier <srabbelier@gmail.com>
To: "Git List" <git@vger.kernel.org>,
"Junio C Hamano" <gitster@pobox.com>,
"Daniel Barkalow" <barkalow@iabervon.org>,
"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
"Jonathan Niede
Cc: Sverre Rabbelier <srabbelier@gmail.com>
Subject: [PATCH 1/7] clone: pass the remote name to remote_get
Date: Mon, 29 Mar 2010 11:48:23 -0500 [thread overview]
Message-ID: <1269881309-19690-2-git-send-email-srabbelier@gmail.com> (raw)
In-Reply-To: <1269881309-19690-1-git-send-email-srabbelier@gmail.com>
Currently when using a remote helper to clone a repository, the
remote helper will be passed the url of the target repository as
first argument (which represents the name of the remote). This name
is extracted from transport->remote->name, which is set by
builtin/clone.c when it calls remote_get with argv[0] as argument.
Fix this by passing the name remote will be set up as instead.
However, setup_reference calls remote_get before the remote is
added to the config file. This will result in an improperly
configured remote (in memory) if later on remote_get is called
with an argument that is not equal to the initial remote_get call
in setup_reference. Fix this by delaying the remote_get call until
after the remote has been added to the config file.
---
This is a combination of the earlier two-patch fix I sent.
builtin/clone.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/builtin/clone.c b/builtin/clone.c
index 05f8fb4..068d61f 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -470,9 +470,6 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
*/
unsetenv(CONFIG_ENVIRONMENT);
- if (option_reference)
- setup_reference(git_dir);
-
git_config(git_default_config, NULL);
if (option_bare) {
@@ -504,6 +501,9 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
strbuf_reset(&key);
}
+ if (option_reference)
+ setup_reference(git_dir);
+
fetch_pattern = value.buf;
refspec = parse_fetch_refspec(1, &fetch_pattern);
@@ -513,7 +513,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
refs = clone_local(path, git_dir);
mapped_refs = wanted_peer_refs(refs, refspec);
} else {
- struct remote *remote = remote_get(argv[0]);
+ struct remote *remote = remote_get(option_origin);
transport = transport_get(remote, remote->url[0]);
if (!transport->get_refs_list || !transport->fetch)
--
1.7.0.3.317.gbb04ec
next prev parent reply other threads:[~2010-03-29 16:48 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-29 16:48 [PATCH 0/7] remote-helpers: exporting Sverre Rabbelier
2010-03-29 16:48 ` Sverre Rabbelier [this message]
2010-03-29 16:48 ` [PATCH 2/7] clone: also configure url for bare clones Sverre Rabbelier
2010-03-29 16:48 ` [PATCH 3/7] fast-import: always create marks_file directories Sverre Rabbelier
2010-03-29 16:48 ` [PATCH 4/7] remote-helpers: allow requesing the path to the .git directory Sverre Rabbelier
2010-03-29 16:48 ` [PATCH 5/7] remote-helpers: add support for an export command Sverre Rabbelier
2010-03-29 17:21 ` Daniel Barkalow
2010-03-29 17:28 ` Sverre Rabbelier
2010-04-01 4:54 ` Junio C Hamano
2010-04-01 15:14 ` Sverre Rabbelier
2010-03-29 16:48 ` [PATCH 6/7] remote-helpers: add testgit helper Sverre Rabbelier
2010-03-29 16:48 ` [PATCH 7/7] remote-helpers: add tests for " Sverre Rabbelier
2010-04-12 14:24 ` Jonathan Nieder
2010-04-12 14:26 ` Sverre Rabbelier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1269881309-19690-2-git-send-email-srabbelier@gmail.com \
--to=srabbelier@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=barkalow@iabervon.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).