-
Notifications
You must be signed in to change notification settings - Fork 199
Description
After a PR is merged to this repo, I pull the new commits into my local clone and run dune build. For some reason, most of the time every single .v file in the Coq-HoTT library gets rebuilt, starting with Basics/Utf8.v. I would of course normally expect that only the changed files and their dependencies get rebuilt. Note that I'm not running dune clean, so the previous .vo files are still present. (In addition, I use the dune cache, so even if the .vo files were not present, they should be found in the cache and replaced without coqc being run.)
This has been going on for a week or two I believe. I finally figured out a way to reproduce it.
# This is PR #1919:
git checkout d9ff10ee1
# Just build part, to save time:
dune build --cache=disabled _build/default/theories/Basics.vo
# This is current master, PR #1923:
git checkout c0f202e22
dune build --cache=disabled _build/default/theories/Basics.vo
# The above builds every file in Basics, including Utf8.v, which has no Requires lines.
# This shows that Basics/Datatypes.v is the only file that changed between these two:
git diff --stat d9ff10ee1 theories/Basics
In those steps, I disable the dune cache, but I'll emphasize that even with the cache enabled, it happens the first time I pull in new changes, but is not reproducible after that.
This is with dune 3.14.2 and Coq 8.19.1.
Any ideas?