diff options
author | Steven Knight <knight@baldmt.com> | 2004-09-15 01:27:00 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2004-09-15 01:27:00 (GMT) |
commit | 971c19dc69105c23d90fcbc307e477342437049a (patch) | |
tree | 56d5af18b8c947dee1f99b1a25aa7a5a80e7309b /src | |
parent | 7fef06f597626b9ee3faa0aa716819258e583812 (diff) | |
download | SCons-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.txt | 9 | ||||
-rw-r--r-- | src/engine/SCons/Defaults.py | 2 |
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) |