Merge pull request #10843 from NixOS/backport-9897-to-2.19-maintenance

[Backport 2.19-maintenance] libutil/url: fix git+file:./ parse error
This commit is contained in:
Robert Hensing 2024-06-04 11:04:04 +02:00 committed by GitHub
commit 7e8ea6a843
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -163,16 +163,16 @@ std::string fixGitURL(const std::string & url)
std::regex scpRegex("([^/]*)@(.*):(.*)"); std::regex scpRegex("([^/]*)@(.*):(.*)");
if (!hasPrefix(url, "/") && std::regex_match(url, scpRegex)) if (!hasPrefix(url, "/") && std::regex_match(url, scpRegex))
return std::regex_replace(url, scpRegex, "ssh://$1@$2/$3"); return std::regex_replace(url, scpRegex, "ssh://$1@$2/$3");
else { if (hasPrefix(url, "file:"))
if (url.find("://") == std::string::npos) { return url;
return (ParsedURL { if (url.find("://") == std::string::npos) {
.scheme = "file", return (ParsedURL {
.authority = "", .scheme = "file",
.path = url .authority = "",
}).to_string(); .path = url
} else }).to_string();
return url;
} }
return url;
} }
// https://www.rfc-editor.org/rfc/rfc3986#section-3.1 // https://www.rfc-editor.org/rfc/rfc3986#section-3.1