From 5c76d265d7dc6eaa1ce8b8690f7d2077f8724953 Mon Sep 17 00:00:00 2001 From: "sgk@google.com" Date: Tue, 2 Dec 2008 08:21:22 +0000 Subject: Local fix to SCons bug: If a Node exists explicitly in a repository directory but not in the local working directory, SCons would throw an exception when globbing the entry when it tried to extract the non-existent same-named entry from the local working directory's entries dictionary. Since we know we want to return local entry anyway, make sure it exists. Review URL: http://codereview.chromium.org/13044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6212 0039d316-1c4b-4281-b951-d872f2087c98 --- third_party/scons/scons-local/SCons/Node/FS.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'third_party/scons/scons-local') diff --git a/third_party/scons/scons-local/SCons/Node/FS.py b/third_party/scons/scons-local/SCons/Node/FS.py index 218542e..6bb6f59e 100644 --- a/third_party/scons/scons-local/SCons/Node/FS.py +++ b/third_party/scons/scons-local/SCons/Node/FS.py @@ -1897,6 +1897,10 @@ class Dir(Base): entry_names = filter(lambda n: n not in ('.', '..'), dir.entries.keys()) node_names = map(lambda n, e=dir.entries: e[n].name, entry_names) names.extend(node_names) + if not strings: + # Make sure the working directory (self) actually has + # entries for all Nodes in repositories or variant dirs. + map(self.Entry, node_names) if ondisk: try: disk_names = os.listdir(dir.abspath) -- cgit v1.1