Windows: Disambiguate DOS style paths from SSH URLs.

If on Windows a path is specified as C:/path, then this is also a valid
SSH URL. To disambiguate between the two interpretations we take an URL
that looks like a path with a drive letter as a local URL.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
This commit is contained in:
Johannes Sixt 2007-11-30 22:51:10 +01:00
Родитель 6ed807f843
Коммит be501813d2
2 изменённых файлов: 3 добавлений и 2 удалений

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

@ -529,7 +529,7 @@ struct child_process *git_connect(int fd[2], const char *url_orig,
end = host;
path = strchr(end, c);
if (path) {
if (path && !has_dos_drive_prefix(end)) {
if (c == ':') {
protocol = PROTO_SSH;
*path++ = '\0';

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

@ -709,7 +709,8 @@ static int is_local(const char *url)
{
const char *colon = strchr(url, ':');
const char *slash = strchr(url, '/');
return !colon || (slash && slash < colon);
return !colon || (slash && slash < colon) ||
has_dos_drive_prefix(url);
}
static int is_file(const char *url)