The timestamp has to be updated!
If the backup file is less than an hour old, do not overwrite it.
Diff needs to read the files after renderHtml has already escaped the page name. Perhaps a different solution would be better: two attributes for Page and changing all the templates to use the new EscapedName attribute?