builtins.fetchgit: Support paths

This commit is contained in:
Eelco Dolstra 2017-03-02 11:46:28 +01:00
parent fbf17f1ad7
commit ffcf9d24a6
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE

View file

@ -58,9 +58,11 @@ static void prim_fetchgit(EvalState & state, const Pos & pos, Value * * args, Va
for (auto & attr : *args[0]->attrs) {
string name(attr.name);
if (name == "url")
url = state.forceStringNoCtx(*attr.value, *attr.pos);
else if (name == "rev")
if (name == "url") {
PathSet context;
url = state.coerceToString(*attr.pos, *attr.value, context, false, false);
if (hasPrefix(url, "/")) url = "file://" + url;
} else if (name == "rev")
rev = state.forceStringNoCtx(*attr.value, *attr.pos);
else
throw EvalError("unsupported argument %s to fetchgit, at %s", attr.name, *attr.pos);