diff options
author | Joey Hess <joey@kitenet.net> | 2014-09-26 18:55:09 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2014-09-26 18:55:09 -0400 |
commit | 6294894f314970d428b12891547b07bef2e07352 (patch) | |
tree | e43b4b6267ee9fd34b6b02c317fd5c5fc5d4b62c /ikiwiki-w3m.cgi | |
parent | b6299a2b67bfe3e67d354e4152786455ab30ac87 (diff) | |
download | ikiwiki-6294894f314970d428b12891547b07bef2e07352.tar ikiwiki-6294894f314970d428b12891547b07bef2e07352.tar.gz |
Fix crash that can occur when only_committed_changes is set and a file is deleted from the underlay.
srcfile_stat got called on a file from the underlay that no longer existed.
I am not 100% sure of the circumstances of that; I was able to reproduce
the bug but neglected to snapshot the tree, and then accidentially
got it to stop crashing. I know that a transient tag page got deleted using
the web interface to trigger the crash.
It seems that process_changed_files must have returned the file, despite it
being deleted. And since the file was not checked into git, it seems it
must have not been included in @IkiWiki::underlayfiles, which would have
caused process_changed_files to not return it.
I do not know why a transient tag page would not be in
@IkiWiki::underlayfiles. There is a bug here that I don't understand.
This is just a workaround -- run srcfile_stat such that it won't crash,
and if it is unable to stat a file, find_changed knows it's not changed,
so it's ok to skip it.
Also made find_new_files run srcfile_stat such that it won't crash, just
because I was there.
Diffstat (limited to 'ikiwiki-w3m.cgi')
0 files changed, 0 insertions, 0 deletions