Overwrite if the md5sum in a file is wrong but the content has not changed
authorDave Rolsky <autarch@urth.org>
Tue, 12 Jan 2016 19:13:18 +0000 (13:13 -0600)
committerDagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Wed, 22 Jun 2016 07:47:02 +0000 (08:47 +0100)
commit348abad20ec56d659682740433f2f1e9dce8e812
tree699be60382d4d85526ec922144ed920d08c416ce
parent93c51ef2c6348d70e1be284f0f5f750bde719a4f
Overwrite if the md5sum in a file is wrong but the content has not changed

The code was reading the file, then generating an md5sum for the content and
comparing it to the md5sum in the file itself. If these didn't match then it
would return the _generated_ MD5 rather than what was actually in the file. It
would then compare this generated MD5 to the MD5 for a regen of the same
file. If they matched it would not bother writing the file.

This works fine if it's the _content_ that has changed, but if the md5sum
itself is wrong but the content has not changed, then returning the generated
MD5 based on the content we just read is wrong.

Instead, we now simply return a non-MD5 string. This will force the file to be
written again whether it was the file's content that had changed or just its
md5sum.
Changes
lib/DBIx/Class/Schema/Loader/Base.pm
t/40overwrite_modifications.t