Index: gclient.py |
diff --git a/gclient.py b/gclient.py |
index f7c9cc18be88abb0aedd3913e1ab223d608c34d4..2d661b30ebf01bff727b2756311fbaf305e33122 100755 |
--- a/gclient.py |
+++ b/gclient.py |
@@ -591,7 +591,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings): |
# copy state, so skip the SCM status check. |
run_scm = command not in ('runhooks', 'recurse', None) |
parsed_url = self.LateOverride(self.url) |
- file_list = [] |
+ file_list = [] if not options.nohooks else None |
if run_scm and parsed_url: |
if isinstance(parsed_url, self.FileImpl): |
# Special support for single-file checkout. |
@@ -612,11 +612,12 @@ class Dependency(gclient_utils.WorkItem, DependencySettings): |
self._used_scm = gclient_scm.CreateSCM( |
parsed_url, self.root.root_dir, self.name) |
self._used_scm.RunCommand(command, options, args, file_list) |
- file_list = [os.path.join(self.name, f.strip()) for f in file_list] |
+ if file_list: |
+ file_list = [os.path.join(self.name, f.strip()) for f in file_list] |
# TODO(phajdan.jr): We should know exactly when the paths are absolute. |
# Convert all absolute paths to relative. |
- for i in range(len(file_list)): |
+ for i in range(len(file_list or [])): |
# It depends on the command being executed (like runhooks vs sync). |
if not os.path.isabs(file_list[i]): |
continue |
@@ -630,7 +631,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings): |
# Always parse the DEPS file. |
self.ParseDepsFile() |
- self._run_is_done(file_list, parsed_url) |
+ self._run_is_done(file_list or [], parsed_url) |
if self.recursion_limit: |
# Parse the dependencies of this dependency. |