Commit Graph

14 Commits

Author SHA1 Message Date
Florian Weingarten 8bdfdae0ab Fix reading of binary metadata file 2015-07-09 13:40:36 -04:00
Alfred Xing bba7870f8b Merge pull request #3717 from alfredxing/regenerator-handle-deleted-files
Merge pull request 3717
2015-05-31 11:10:42 -07:00
Alfred Xing a2ee820609 Regenerator: handle deleted/renamed/moved dependencies
Should fix #3716
2015-05-19 22:47:58 -07:00
Florian Weingarten 376c87b62e Don't crash when reading/writing Marshal 2015-05-19 15:51:55 +00:00
Florian Weingarten 3474481043 Marshal metadata 2015-05-18 14:02:43 +00:00
Parker Moore bf98004843 Merge pull request #3608 from nickburlett/patch/incremental-build
Merge pull request 3608
2015-04-10 16:51:56 -04:00
Nicholas Burlett 1f8157022a Clean up destination modified check
Clean up the destination modified check in `source_modified_or_dest_missing?` to be easier to read. Note that it can now return `nil` instead of `false` for an unmodified `source_path` and a `nil` `dest_path`, but in a discussion on 706007ead9 we decided that was okay.
2015-03-25 08:51:58 -07:00
Nicholas Burlett 8f4194eea5 Clean up regeneration missing-destination checks
Use easier-to-follow checks for missing-destinations in the regenerator.
2015-03-24 21:21:37 -07:00
Nicholas Burlett d4b8f0d9dd Process metadata for all dependencies
When adding a dependency, also add the dependency to the metadata hash.

Addresses part 1 of #3591. Prior to this fix, the regnerator only paid attention the mtime of the first dependency it checked, so for posts/pages with N multiple dependencies (i.e., every layout file used to render them), it continues to regenerate the post/page approximately N times, at which point it's seen all of the dependencies.
2015-03-22 13:33:12 -07:00
Nicholas Burlett 706007ead9 Incrementally regenerate missing destination file
Addresses the third point of #3591, in which the incremental regenerator doesn't notice that destination files have gone missing.
2015-03-21 19:25:02 -07:00
Nicholas Burlett 15ebf929e1 Use the new clear_cache method
Instead of assigning `@cache = {}`, clear the cache using `clear_cache`
2015-03-18 22:30:31 -07:00
Nicholas Burlett adce349d7a Clear the regenerator cache every time we process
To address part of #3591, clear the regenerator's cache every time the
site is processed. This ensures that the regenerator doesn't incorrectly
believe a file hasn't changed based on stale information.
2015-03-18 10:27:40 -07:00
Alfred Xing 58e231ce40 Rename Regenerator#write to Regenerator#write_metadata 2015-01-19 16:29:50 -08:00
Alfred Xing fe5f0d124c Move all regenerate? checking to Regenerator 2015-01-18 11:05:06 -08:00