Don't wipe the timestamp when a target fails to redo.

It's really a separate condition.  And since we're not removing the target
*file* in case of error - we update it atomically, and keeping it is better
than losing it - there's no reason to wipe the timestamp in that case
either.

However, we do need to know that the build failed, so that anybody else
(especially in a parallel build) who looks at that target knows that it
died.  So add a separate flag just for that.
This commit is contained in:
Avery Pennarun 2010-12-10 20:53:31 -08:00
commit 0126f6be1e
4 changed files with 39 additions and 17 deletions

View file

@ -4,5 +4,6 @@
echo ".timeout 5000"
echo "pragma synchronous = off;"
echo "update Files set checked_runid=null, " \
" changed_runid=changed_runid-1;"
" changed_runid=changed_runid-1, " \
" failed_runid=null;"
) | sqlite3 "$REDO_BASE/.redo/db.sqlite3"