Fix sourcehut tag ref resolving

This commit is contained in:
Gabriel Fontes 2022-03-19 10:56:13 -03:00
parent 8ad485ea89
commit 345a8ee0cb
No known key found for this signature in database
GPG key ID: 2E54EA7BFE630916

View file

@ -390,7 +390,7 @@ struct SourceHutInputScheme : GitArchiveInputScheme
ref_uri = line.substr(ref_index+5, line.length()-1); ref_uri = line.substr(ref_index+5, line.length()-1);
} else } else
ref_uri = fmt("refs/heads/%s", ref); ref_uri = fmt("refs/(heads|tags)/%s", ref);
auto file = store->toRealPath( auto file = store->toRealPath(
downloadFile(store, fmt("%s/info/refs", base_url), "source", false, headers).storePath); downloadFile(store, fmt("%s/info/refs", base_url), "source", false, headers).storePath);
@ -399,9 +399,9 @@ struct SourceHutInputScheme : GitArchiveInputScheme
std::string line; std::string line;
std::string id; std::string id;
while(getline(is, line)) { while(getline(is, line)) {
auto index = line.find(ref_uri); std::regex pattern(ref_uri);
if (index != std::string::npos) { if (std::regex_search(line, pattern)) {
id = line.substr(0, index-1); id = line.substr(0, line.find('\t'));
break; break;
} }
} }