Chromium Code Reviews| Index: gclient.py |
| diff --git a/gclient.py b/gclient.py |
| index 791c9352dfeec6f0c25f35ac98d5513fd250c765..26c02cd40b8c8b6811c58e00c47b1e6d6190e9a7 100644 |
| --- a/gclient.py |
| +++ b/gclient.py |
| @@ -422,6 +422,16 @@ class Dependency(GClientKeywords): |
| def tree(self, force_all): |
| return self.parent.tree(force_all) |
| + def subtree(self, force_all): |
| + result = [] |
| + # Add breadth-first. |
| + if self.direct_reference or force_all: |
| + for d in self.dependencies: |
| + result.append(d) |
|
bradn
2010/07/22 21:51:49
extra indent here.
|
| + for d in self.dependencies: |
| + result.extend(d.subtree(force_all)) |
| + return result |
| + |
| def get_custom_deps(self, name, url): |
| """Returns a custom deps if applicable.""" |
| if self.parent: |
| @@ -759,16 +769,7 @@ solutions = [ |
| def tree(self, force_all): |
| """Returns a flat list of all the dependencies.""" |
| - def subtree(dep): |
| - if not force_all and not dep.direct_reference: |
| - # Was loaded from a From() keyword in a DEPS file, don't load all its |
| - # dependencies. |
| - return [] |
| - result = dep.dependencies[:] |
| - for d in dep.dependencies: |
| - result.extend(subtree(d)) |
| - return result |
| - return subtree(self) |
| + return self.subtree(force_all) |
| #### gclient commands. |