Make it possible to refer to github-style URLs.

BUG=362248

Review URL: https://codereview.chromium.org/233333003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@263252 0039d316-1c4b-4281-b951-d872f2087c98
changes/01/332501/1
scr@chromium.org 11 years ago
parent 5724c961f6
commit f1eccafb1c

@ -435,7 +435,8 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
if isinstance(url, basestring):
parsed_url = urlparse.urlparse(url)
if not parsed_url[0]:
if (not parsed_url[0] and
not re.match(r'^\w+\@[\w\.-]+\:[\w\/]+', parsed_url[2])):
# A relative url. Fetch the real base.
path = parsed_url[2]
if not path.startswith('/'):

@ -75,7 +75,10 @@ def SplitUrlRevision(url):
regex = r'(ssh://(?:[-.\w]+@)?[-\w:\.]+/[-~\w\./]+)(?:@(.+))?'
components = re.search(regex, url).groups()
else:
components = url.split('@', 1)
components = url.rsplit('@', 1)
if re.match(r'^\w+\@', url) and '@' not in components[0]:
components = [url]
if len(components) == 1:
components += [None]
return tuple(components)

@ -559,6 +559,15 @@ class GclientTest(trial_dir.TestCase):
self.assertEqual(result, expected_deps)
self.assertEqual(deps, orig_deps)
def testLateOverride(self):
"""Verifies expected behavior of LateOverride."""
url = "git@github.com:dart-lang/spark.git"
d = gclient.Dependency(None, 'name', 'url',
None, None, None, None, None, '', True)
late_url = d.LateOverride(url)
self.assertEquals(url, late_url)
def testDepsOsOverrideDepsInDepsFile(self):
"""Verifies that a 'deps_os' path can override a 'deps' path. Also
see testUpdateWithOsDeps above.

@ -124,6 +124,13 @@ class SplitUrlRevisionTestCase(GclientUtilBase):
out_url, out_rev = gclient_utils.SplitUrlRevision("%s@%s" % (url, rev))
self.assertEquals(out_rev, rev)
self.assertEquals(out_url, url)
url = "git@github.com:dart-lang/spark.git"
out_url, out_rev = gclient_utils.SplitUrlRevision(url)
self.assertEquals(out_rev, None)
self.assertEquals(out_url, url)
out_url, out_rev = gclient_utils.SplitUrlRevision("%s@%s" % (url, rev))
self.assertEquals(out_rev, rev)
self.assertEquals(out_url, url)
def testSVNUrl(self):
url = "svn://example.com/test"

Loading…
Cancel
Save