summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2004-09-15 01:27:00 (GMT)
committerSteven Knight <knight@baldmt.com>2004-09-15 01:27:00 (GMT)
commit971c19dc69105c23d90fcbc307e477342437049a (patch)
tree56d5af18b8c947dee1f99b1a25aa7a5a80e7309b /src
parent7fef06f597626b9ee3faa0aa716819258e583812 (diff)
downloadSCons-971c19dc69105c23d90fcbc307e477342437049a.zip
SCons-971c19dc69105c23d90fcbc307e477342437049a.tar.gz
SCons-971c19dc69105c23d90fcbc307e477342437049a.tar.bz2
Fix Delete action for non-existent files and must_exist=1 under Python 2.3. (Kevin Quick)
Diffstat (limited to 'src')
-rw-r--r--src/CHANGES.txt9
-rw-r--r--src/engine/SCons/Defaults.py2
2 files changed, 10 insertions, 1 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index ec8ac36..feb988a 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -15,6 +15,10 @@ RELEASE 0.97 - XXX
- Allow Help() to be called multiple times, appending to the help
text each call.
+ From Steve Christensen:
+
+ - Handle exceptions from Python functions a build actions.
+
From Steven Knight:
- When compiling with Microsoft Visual Studio, don't include the ATL and
@@ -54,6 +58,11 @@ RELEASE 0.97 - XXX
- Provide more info in the error message when a user tries to build
a target multiple ways.
+ - Fix Delete() when a file doesn't exist and must_exist=1. (We were
+ unintentionally dependent on a bug in versions of the Python shutil.py
+ module prior to Python 2.3, which would generate an exception for
+ a nonexistent file even when ignore_errors was set.)
+
From Christoph Wiedemann:
- Add an Environment.SetDefault() method that only sets values if
diff --git a/src/engine/SCons/Defaults.py b/src/engine/SCons/Defaults.py
index a99850b..6ebc6eb 100644
--- a/src/engine/SCons/Defaults.py
+++ b/src/engine/SCons/Defaults.py
@@ -184,7 +184,7 @@ Copy = ActionFactory(copy_func,
def delete_func(entry, must_exist=0):
if not must_exist and not os.path.exists(entry):
return None
- if os.path.isfile(entry):
+ if not os.path.exists(entry) or os.path.isfile(entry):
return os.unlink(entry)
else:
return shutil.rmtree(entry, 1)