Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlari Liusvaara <ilari.liusvaara@elisanet.fi>2010-01-09 20:28:12 +0300
committerJunio C Hamano <gitster@pobox.com>2010-01-10 09:38:49 +0300
commit27a557a9ff9273ad47aa29c52e9903cf6405f7f7 (patch)
treeea1bead80a5cbadf90e7a47984bae5746a8962e4
parent28ca0c90080ec933d82b0f7d050ea5fde2816c57 (diff)
Reset possible helper before reusing remote structure
If one had multiple URLs configured for remote with previous one having forced helper but the subsequent one not, like: url = foo::bar://baz url = ssh://example/example.git Then the subsequent URL is passed to foo helper, which isn't correct. Fix it to be parsed normally by resetting foreign VCS name before parsing the URL protocol. Signed-off-by: Ilari Liusvaara <ilari.liusvaara@elisanet.fi> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--transport.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/transport.c b/transport.c
index 652bf0bd83..b5332c018b 100644
--- a/transport.c
+++ b/transport.c
@@ -875,6 +875,9 @@ struct transport *transport_get(struct remote *remote, const char *url)
url = remote->url[0];
ret->url = url;
+ /* In case previous URL had helper forced, reset it. */
+ remote->foreign_vcs = NULL;
+
/* maybe it is a foreign URL? */
if (url) {
const char *p = url;