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? 
_______________________________________________
Scons-dev mailing list
[email protected]
http://two.pairlist.net/mailman/listinfo/scons-dev

Reply via email to