aboutsummaryrefslogtreecommitdiffstats
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-13 21:09:17 +0000
committertv <tv@krebsco.de>2026-11-13 22:14:45 +0100
commit8dfa3f18d42d852ece3f2d9cf1ae117acccc0b15 (patch)
tree2f521e0c7307a4fac6481dc968a9e4f5c21a7cc0 /CHANGELOG.md
parent0273a55087e2614323d6ebd145b08c56b370a483 (diff)
populate: refer to flakes as git+file: only with a usable .git
Writing the lock file of a git+file: flake, Nix runs Git, with the repository's configuration and hooks, which may run commands. A .git in a source's directory can come from anywhere, e.g. one planted in a materialized flake, or one a file source keeps. So drawing inputs refers to a flake as git+file: only if git_problems finds nothing wrong with its .git directory, the way git sources check their work trees, and else as path:. lock-foreign-git plants a .git in a materialized flake and in a file source that keeps it, whose configuration names an fsmonitor command.
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md2
1 files changed, 2 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3875460..d71c57e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,8 @@
- `git` sources also refuse work trees whose `.git` directory contains
hooks, or in which a submodule's `.git` isn't a file naming a repository
in `.git/modules`, unless `reclone` is set.
+- Drawing inputs refers to a source in a Git work tree as `git+file:` only
+ if a `git` source would use its `.git` directory, and else as `path:`.
- `git` sources with a branch or tag as `ref` follow it: populate fetches
the branch or tag on every run, and resets the work tree to what it
fetched.