[Scons-dev] dependencys, md5s and timestamps
Tom Tanner (BLOOMBERG/ LONDON)
ttanner2 at bloomberg.net
Tue Oct 8 04:10:20 EDT 2013
Yet more investigation has got me to the point where I don't get nasty surprises with timestamps.
It appears that this function in Node/FS.py:
def changed_timestamp_then_content(self, target, prev_ni):
if not self.changed_timestamp_match(target, prev_ni):
try:
self.get_ninfo().csig = prev_ni.csig
except AttributeError:
pass
return False
return self.changed_content(target, prev_ni)
has the rather unexpected (to me) result of occasionally overwriting the calculated signature in your node info when your build has fetched something from the cache. I have now modified my 'is the file corrupt' check so that it avoids overwriting the csig if there already is one.
I freely admit to being extremely confused about timestamps now. I think probably they should be avoided like the plague, but that makes the build quite slow as it's doing a lot of unnecessary calculations.
So my question here is really - is the changeed_timestamp_then_content actually doing the right thing?
More information about the Scons-dev
mailing list