| 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
|
|
|