use canonical base URL for projects
BUG=372645
R=iannucci@chromium.org, sergeyberezin@chromium.org
Review URL: https://codereview.chromium.org/271703010
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@270460 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/git_cl.py b/git_cl.py
index 06594f0..6e56401 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -635,12 +635,17 @@
return True
def GetGitBaseUrlFromConfig(self):
- """Return the configured base URL from branch.<branchname>.baseurl.
+ """Return the configured base URL from branch.<branchname>.canonical-url.
Returns None if it is not set.
"""
- return RunGit(['config', 'branch.%s.base-url' % self.GetBranch()],
- error_ok=True).strip()
+ branch = self.GetBranch()
+ url = RunGit(['config', 'branch.%s.canonical-url' % branch],
+ error_ok=True).strip()
+ if not url:
+ url = RunGit(['config', 'branch.%s.base-url' % branch],
+ error_ok=True).strip()
+ return url
def GetRemoteUrl(self):
"""Return the configured remote URL, e.g. 'git://example.org/foo.git/'.
@@ -1074,6 +1079,13 @@
RunGit(['config', keyvals['PUSH_URL_CONFIG'],
keyvals['ORIGIN_URL_CONFIG']])
+ if 'CANONICAL_URL' in keyvals:
+ branchref = RunGit(['symbolic-ref', 'HEAD']).strip()
+ branch = ShortBranchName(branchref)
+ RunGit(['config', 'branch.%s.canonical-url' % branch,
+ keyvals['CANONICAL_URL']],
+ error_ok=False)
+
def urlretrieve(source, destination):
"""urllib is broken for SSL connections via a proxy therefore we