gclient: Make gclient respect unmanaged dependencies when syncing.
gclient syncs unmanaged dependencies when '--revision' files are passed,
regardless of whether the dependency appears in the revision flags or not.
Bug: 853032
Change-Id: I66de0865e1103d92524f565f4392dae24a5648e1
Reviewed-on: https://chromium-review.googlesource.com/1105416
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
diff --git a/gclient.py b/gclient.py
index 2ebadb0..a09c15d 100755
--- a/gclient.py
+++ b/gclient.py
@@ -622,7 +622,7 @@
parent=self,
name=name,
url=url,
- managed=None,
+ managed=True,
custom_deps=None,
custom_vars=self.custom_vars,
custom_hooks=None,
@@ -855,6 +855,8 @@
file_list = [] if not options.nohooks else None
revision_override = revision_overrides.pop(
self.FuzzyMatchUrl(revision_overrides), None)
+ if not revision_override and not self.managed:
+ revision_override = 'unmanaged'
if run_scm and self.url:
# Create a shallow copy to mutate revision.
options = copy.copy(options)
@@ -1478,10 +1480,6 @@
if self._options.head:
return revision_overrides
if not self._options.revisions:
- for s in self.dependencies:
- if not s.managed:
- self._options.revisions.append('%s@unmanaged' % s.name)
- if not self._options.revisions:
return revision_overrides
solutions_names = [s.name for s in self.dependencies]
index = 0