Open cpitclaudel opened 5 years ago
+0 if somebody implement it.
I'm kind of interested in fixing this, do you have any suggestions about where to start from?
I've traced it back to these lines which are removing environment.pickle
, which appears to store the last-read timestamps:
Now I'm wondering what a good fix is. Should these lines simply be removed? The comment suggests this behavior makes sense in some settings, I have no idea, in which case we can keep this but hide it behind a flag --clear-on-failure
which (I would prefer) is unset by default.
Another (more minor) problem is that the env is saved only on a successful build. So even if I just remove those three lines, on a fresh project, if the build fails from the start, the rebuild still happens.
My large concern is how to keep health of env file. I can't say env data is enough healthy when errors are happened. So I also can't say dumping env data to disk is safety. It might be good to dump env data on reading every document.
Note: we need to care for parallel build also.
Is the dumped env data useful for other things besides the timestamps?
env data is main database of Sphinx. It stores data for cross references, domains and so on. timestamps is a small part of it.
I see. Right now I'm content with keeping the env regardless, as a temporary workaround. I'll think about a proper fix when I find some free time, unless someone gets to it before me :)
Describe the bug
Raising an error from an extension (or even a warning when using
-W
) causes the next build to reprocess all files instead of resuming from the last error-free file. This makes development with-W
enabled in a large documentation project painful, because every small error requires a full-rebuild (for us in Coq, theread
phase takes about 1 minute).To Reproduce Steps to reproduce the behavior:
Expected behavior Ideally, the second compilation pass should resume from
c.rst
, since that's where the error was. Sincea.rst
andb.rst
where successfully read, it would be super if they could be reloaded from disk on the next pass.Environment info