From 5046233b5a6e544eedb4720d81f21d37a7c35d3b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 27 Jan 2020 13:45:49 +0100 Subject: Add Mercurial tests --- src/libexpr/flake/flake.cc | 9 ++++++++- src/libstore/fetchers/mercurial.cc | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/libexpr/flake/flake.cc b/src/libexpr/flake/flake.cc index cabc12738..15b852c7c 100644 --- a/src/libexpr/flake/flake.cc +++ b/src/libexpr/flake/flake.cc @@ -509,7 +509,14 @@ LockedFlake lockFlake( if (settings.warnDirty) warn("will not write lock file of flake '%s' because it has a mutable input", topRef); } else { - newLockFile.write(*sourcePath + (topRef.subdir == "" ? "" : "/" + topRef.subdir) + "/flake.lock"); + auto path = *sourcePath + (topRef.subdir == "" ? "" : "/" + topRef.subdir) + "/flake.lock"; + + if (pathExists(path)) + warn("updating lock file '%s'", path); + else + warn("creating lock file '%s'", path); + + newLockFile.write(path); // FIXME: rewriting the lockfile changed the // top-level repo, so we should re-read it. diff --git a/src/libstore/fetchers/mercurial.cc b/src/libstore/fetchers/mercurial.cc index 304b2d967..e6f252700 100644 --- a/src/libstore/fetchers/mercurial.cc +++ b/src/libstore/fetchers/mercurial.cc @@ -89,6 +89,8 @@ struct MercurialInput : Input // FIXME: return lastModified. + // FIXME: don't clone local repositories. + if (!input->ref && !input->rev && isLocal && pathExists(actualUrl + "/.hg")) { bool clean = runProgram("hg", true, { "status", "-R", actualUrl, "--modified", "--added", "--removed" }) == ""; -- cgit v1.2.3