[Scons-users] 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-users mailing list