Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1239)

Unified Diff: depot_tools/gclient.py

Issue 3300007: Do not blindly assume that a .gclient file in a parent directory belongs to t... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/
Patch Set: '' Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | depot_tools/tests/gclient_smoketest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: depot_tools/gclient.py
===================================================================
--- depot_tools/gclient.py (revision 58356)
+++ depot_tools/gclient.py (working copy)
@@ -621,13 +621,24 @@
def LoadCurrentConfig(options):
"""Searches for and loads a .gclient file relative to the current working
dir. Returns a GClient object."""
- path = gclient_utils.FindGclientRoot(os.getcwd(), options.config_filename)
+ cwd = os.getcwd()
+ path = gclient_utils.FindGclientRoot(cwd, options.config_filename)
if not path:
return None
client = GClient(path, options)
client.SetConfig(gclient_utils.FileRead(
os.path.join(path, options.config_filename)))
- return client
+ if path == cwd:
+ return client
+ # Validate the current directory we are in belongs to the .gclient file we
+ # found.
+ cwd = cwd[len(path)+1:]
+ all_solutions = [d.name for d in client.tree(False)]
+ while len(cwd):
+ if cwd in all_solutions:
+ return client
+ cwd = os.path.dirname(cwd)
+ return None
def SetDefaultConfig(self, solution_name, solution_url, safesync_url):
self.SetConfig(self.DEFAULT_CLIENT_FILE_TEXT % {
« no previous file with comments | « no previous file | depot_tools/tests/gclient_smoketest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698