Correctly handle a checksummed file that depends on a non-checksummed file.

We were rebuilding the checksummed file every time because redo-ifchange was
incorrectly assuming that a child's changed_runid that's greater than my
changed_runid means I'm dirty.  But if my checked_runid is >= the child's
checked_runid, then I'm clean, because my checksum didn't change.

Clear as mud?
This commit is contained in:
Avery Pennarun 2010-12-11 03:29:38 -08:00
commit 1355ade7c7
7 changed files with 21 additions and 7 deletions

View file

@ -38,7 +38,7 @@ def dirty_deps(f, depth, max_changed):
return True
elif mode == 'm':
if dirty_deps(f2, depth = depth + ' ',
max_changed = f.changed_runid):
max_changed = max(f.changed_runid, f.checked_runid)):
debug('%s-- DIRTY (sub)\n' % depth)
return True
if f.is_override: