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

Unified Diff: trychange.py

Issue 11571052: Fix toplevel_root parsing in trychange.py (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Updated comments Created 8 years 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 | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: trychange.py
diff --git a/trychange.py b/trychange.py
index 7d2ccda0b3fd10b0f55805d546bacfa4e6662662..89920e5bb067c32ae062f6ff4f41961170f53d21 100755
--- a/trychange.py
+++ b/trychange.py
@@ -149,8 +149,12 @@ class SCM(object):
return self.codereview_settings.get(key, '')
def _GclStyleSettings(self):
- """Set default settings based on the gcl-style settings from the
- repository."""
+ """Set default settings based on the gcl-style settings from the repository.
+
+ The settings in the self.options object will only be set if no previous
+ value exists (i.e. command line flags to the try command will override the
+ settings in codereview.settings).
+ """
settings = {
'port': self.GetCodeReviewSetting('TRYSERVER_HTTP_PORT'),
'host': self.GetCodeReviewSetting('TRYSERVER_HTTP_HOST'),
@@ -162,14 +166,14 @@ class SCM(object):
logging.info('\n'.join(['%s: %s' % (k, v)
for (k, v) in settings.iteritems() if v]))
for (k, v) in settings.iteritems():
+ # Avoid overwriting options already set using command line flags.
if v and getattr(self.options, k) is None:
setattr(self.options, k, v)
def AutomagicalSettings(self):
"""Determines settings based on supported code review and checkout tools.
"""
- self._GclStyleSettings()
- # Try to find gclient or repo root.
+ # Try to find gclient or repo root first.
if not self.options.no_search:
self.toplevel_root = gclient_utils.FindGclientRoot(self.checkout_root)
if self.toplevel_root:
@@ -181,10 +185,17 @@ class SCM(object):
logging.info('Found .repo dir at %s'
% os.path.dirname(self.toplevel_root))
+ # Parse TRYSERVER_* settings from codereview.settings before falling back
+ # on setting self.options.root manually further down. Otherwise
+ # TRYSERVER_ROOT would never be used in codereview.settings.
+ self._GclStyleSettings()
+
if self.toplevel_root and not self.options.root:
assert os.path.abspath(self.toplevel_root) == self.toplevel_root
self.options.root = gclient_utils.PathDifference(self.toplevel_root,
self.checkout_root)
+ else:
+ self._GclStyleSettings()
def ReadRootFile(self, filename):
cur = self.checkout_root
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698