From 01da62eccd6ac87a683ea2e81606365fa139f1fc Mon Sep 17 00:00:00 2001 From: stevenknight Date: Wed, 15 Sep 2004 01:27:00 +0000 Subject: [PATCH] Fix Delete action for non-existent files and must_exist=1 under Python 2.3. (Kevin Quick) git-svn-id: http://scons.tigris.org/svn/scons/trunk@1069 fdb21ef1-2011-0410-befe-b5e4ea1792b1 --- src/CHANGES.txt | 9 +++++++++ src/engine/SCons/Defaults.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/CHANGES.txt b/src/CHANGES.txt index ec8ac36a..feb988a2 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 a99850bf..6ebc6ebb 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) -- 2.26.2