Improve diagnostic message for wrong gclient config
BUG=591814
TEST=gclient sync prints the correct report locally
when config is wrong.
Review-Url: https://codereview.chromium.org/2018803002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@300671 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/gclient.py b/gclient.py
index f1428c5..3569f8e 100755
--- a/gclient.py
+++ b/gclient.py
@@ -1233,12 +1233,19 @@
dep.url, self.root_dir, dep.name, self.outbuf)
actual_url = scm.GetActualRemoteURL(self._options)
if actual_url and not scm.DoesRemoteURLMatch(self._options):
+ mirror = scm.GetCacheMirror()
+ if mirror:
+ mirror_string = '%s (exists=%s)' % (mirror.mirror_path,
+ mirror.exists())
+ else:
+ mirror_string = 'not used'
raise gclient_utils.Error('''
Your .gclient file seems to be broken. The requested URL is different from what
is actually checked out in %(checkout_path)s.
The .gclient file contains:
-%(expected_url)s (%(expected_scm)s)
+URL: %(expected_url)s (%(expected_scm)s)
+Cache mirror: %(mirror_string)s
The local checkout in %(checkout_path)s reports:
%(actual_url)s (%(actual_scm)s)
@@ -1250,6 +1257,7 @@
''' % {'checkout_path': os.path.join(self.root_dir, dep.name),
'expected_url': dep.url,
'expected_scm': gclient_scm.GetScmName(dep.url),
+ 'mirror_string' : mirror_string,
'actual_url': actual_url,
'actual_scm': gclient_scm.GetScmName(actual_url)})