| Index: gclient.py
|
| diff --git a/gclient.py b/gclient.py
|
| index ed08e47f423cb96bbd6ba9c9ca2902cbc394cc62..9c4077153edbc41fe0155d5408dd3c27c5c84b53 100755
|
| --- a/gclient.py
|
| +++ b/gclient.py
|
| @@ -288,7 +288,8 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
|
| """Object that represents a dependency checkout."""
|
|
|
| def __init__(self, parent, name, url, safesync_url, managed, custom_deps,
|
| - custom_vars, custom_hooks, deps_file, should_process):
|
| + custom_vars, custom_hooks, deps_file, should_process,
|
| + tmpdir_stage):
|
| gclient_utils.WorkItem.__init__(self, name)
|
| DependencySettings.__init__(
|
| self, parent, url, safesync_url, managed, custom_deps, custom_vars,
|
| @@ -313,6 +314,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
|
| # This is the scm used to checkout self.url. It may be used by dependencies
|
| # to get the datetime of the revision we checked out.
|
| self._used_scm = None
|
| + self.tmpdir_stage = tmpdir_stage
|
|
|
| if not self.name and self.parent:
|
| raise gclient_utils.Error('Dependency without name')
|
| @@ -500,6 +502,8 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
|
| self.local_target_os = local_scope['target_os']
|
| # load os specific dependencies if defined. these dependencies may
|
| # override or extend the values defined by the 'deps' member.
|
| +
|
| + tmpdir_staged_deps = local_scope.get('tmpdir_stage', [])
|
| target_os_deps = {}
|
| if 'deps_os' in local_scope:
|
| for deps_os_key in self.target_os:
|
| @@ -541,7 +545,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
|
| should_process = self.recursion_limit and self.should_process
|
| deps_to_add.append(Dependency(
|
| self, name, url, None, None, None, None, None,
|
| - self.deps_file, should_process))
|
| + self.deps_file, should_process, name in tmpdir_staged_deps))
|
| deps_to_add.sort(key=lambda x: x.name)
|
|
|
| # override named sets of hooks by the custom hooks
|
| @@ -632,6 +636,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
|
| # Create a shallow copy to mutate revision.
|
| options = copy.copy(options)
|
| options.revision = revision_overrides.get(self.name)
|
| + options.stage_clone = self.tmpdir_stage
|
| self.maybeGetParentRevision(
|
| command, options, parsed_url, self.parent.name, revision_overrides)
|
| self._used_scm = gclient_scm.CreateSCM(
|
|
|