summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-01-29 13:38:31 (GMT)
committerSteven Knight <knight@baldmt.com>2002-01-29 13:38:31 (GMT)
commitce7092c12926b8cd2c0df191a68bb5d1f2693f45 (patch)
tree8f8627b6bd4afedd996514b3d7aec580b7c8aab3 /src/engine/SCons/Node
parentdc36fb89f35ecbaf2efa843946d20cf1d030f5b8 (diff)
downloadSCons-ce7092c12926b8cd2c0df191a68bb5d1f2693f45.zip
SCons-ce7092c12926b8cd2c0df191a68bb5d1f2693f45.tar.gz
SCons-ce7092c12926b8cd2c0df191a68bb5d1f2693f45.tar.bz2
Performance improvement: avoid recomputing signatures.
Diffstat (limited to 'src/engine/SCons/Node')
-rw-r--r--src/engine/SCons/Node/FS.py14
-rw-r--r--src/engine/SCons/Node/NodeTests.py6
-rw-r--r--src/engine/SCons/Node/__init__.py5
3 files changed, 12 insertions, 13 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py
index 7c19b81..f28ac1f 100644
--- a/src/engine/SCons/Node/FS.py
+++ b/src/engine/SCons/Node/FS.py
@@ -501,19 +501,7 @@ class File(Entry):
else:
return 0
- def set_bsig(self, bsig):
- """Set the build signature for this file, updating the
- .sconsign entry."""
- Entry.set_bsig(self, bsig)
- self.set_sconsign()
-
- def set_csig(self, csig):
- """Set the content signature for this file, updating the
- .sconsign entry."""
- Entry.set_csig(self, csig)
- self.set_sconsign()
-
- def set_sconsign(self):
+ def store_sigs(self):
"""Update a file's .sconsign entry with its current info."""
self.dir.sconsign().set(self.name, self.get_timestamp(),
self.get_bsig(), self.get_csig())
diff --git a/src/engine/SCons/Node/NodeTests.py b/src/engine/SCons/Node/NodeTests.py
index 9dc2105..d2b1840 100644
--- a/src/engine/SCons/Node/NodeTests.py
+++ b/src/engine/SCons/Node/NodeTests.py
@@ -257,6 +257,12 @@ class NodeTestCase(unittest.TestCase):
node.set_csig('zzz')
assert node.get_csig() == 'zzz'
+ def test_store_sigs(self):
+ """Test calling the method to store signatures
+ """
+ node = SCons.Node.Node()
+ node.store_sigs()
+
def test_set_precious(self):
"""Test setting a Node's precious value
"""
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py
index 504c6d1..a992e06 100644
--- a/src/engine/SCons/Node/__init__.py
+++ b/src/engine/SCons/Node/__init__.py
@@ -173,6 +173,11 @@ class Node:
"""Set the signature of the node's content."""
self.csig = csig
+ def store_sigs(self):
+ """Make the signatures permanent (that is, store them in the
+ .sconsign file or equivalent)."""
+ pass
+
def set_precious(self, precious = 1):
"""Set the Node's precious value."""
self.precious = precious