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>
This commit is contained in:
Ilari Liusvaara 2010-01-09 19:28:12 +02:00 коммит произвёл Junio C Hamano
Родитель 28ca0c9008
Коммит 27a557a9ff
1 изменённых файлов: 3 добавлений и 0 удалений

Просмотреть файл

@ -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;