summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2010-05-26 14:05:53 (GMT)
committerSteven Knight <knight@baldmt.com>2010-05-26 14:05:53 (GMT)
commit5c2e07585593ee4994b8e7d79b3d181a56cd7f13 (patch)
tree06f76e28506178feed9a9fae02428dc3b0a97d68
parent83b22241599ed5f8dc1bfdb1fdcca6fbcc39b95f (diff)
downloadSCons-5c2e07585593ee4994b8e7d79b3d181a56cd7f13.zip
SCons-5c2e07585593ee4994b8e7d79b3d181a56cd7f13.tar.gz
SCons-5c2e07585593ee4994b8e7d79b3d181a56cd7f13.tar.bz2
Fix "Ignoring corrupt sconsign entry" warnings when upgrading from 1.x.
-rw-r--r--src/RELEASE.txt16
-rw-r--r--src/engine/SCons/Node/__init__.py4
2 files changed, 17 insertions, 3 deletions
diff --git a/src/RELEASE.txt b/src/RELEASE.txt
index faa0e66..4a21fa7 100644
--- a/src/RELEASE.txt
+++ b/src/RELEASE.txt
@@ -42,7 +42,21 @@
CHANGED/ENHANCED EXISTING FUNCTIONALITY
- - None.
+ - Any Command() or env.Command() calls that use the following Action
+ factory functions will have their targets rebuilt when upgrading
+ from any pre-2.0 release:
+
+ Chmod()
+ Copy()
+ Delete()
+ Mkdir()
+ Move()
+ Touch()
+
+ (The rebuild occurs because the underlying Python class that
+ implements these functions has been changed to a new-style Python
+ class, and that changes the Python byte code and therefore the
+ build signature of the functions.)
FIXES
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py
index 79ba730..0bf490f 100644
--- a/src/engine/SCons/Node/__init__.py
+++ b/src/engine/SCons/Node/__init__.py
@@ -105,7 +105,7 @@ class NodeInfoBase(object):
logic for dealing with their own Node-specific signature information.
"""
current_version_id = 1
- def __init__(self, node):
+ def __init__(self, node=None):
# Create an object attribute from the class attribute so it ends up
# in the pickled data in the .sconsign file.
self._version_id = self.current_version_id
@@ -158,7 +158,7 @@ class BuildInfoBase(object):
implicit dependencies, and action information.
"""
current_version_id = 1
- def __init__(self, node):
+ def __init__(self, node=None):
# Create an object attribute from the class attribute so it ends up
# in the pickled data in the .sconsign file.
self._version_id = self.current_version_id