summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-02 08:21:22 +0000
committersgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-02 08:21:22 +0000
commit5c76d265d7dc6eaa1ce8b8690f7d2077f8724953 (patch)
tree4c623e11d858a7c66c50aa55e0dfe2fca51c041e
parent7713d63d41fad819b4031c2f30422489469ead95 (diff)
downloadchromium_src-5c76d265d7dc6eaa1ce8b8690f7d2077f8724953.zip
chromium_src-5c76d265d7dc6eaa1ce8b8690f7d2077f8724953.tar.gz
chromium_src-5c76d265d7dc6eaa1ce8b8690f7d2077f8724953.tar.bz2
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
-rw-r--r--third_party/scons/scons-local/SCons/Node/FS.py4
1 files changed, 4 insertions, 0 deletions
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)