diff --git a/gclient_utils.py b/gclient_utils.py index 03d779244e..e2cfb11b3f 100644 --- a/gclient_utils.py +++ b/gclient_utils.py @@ -29,7 +29,7 @@ def SplitUrlRevision(url): """Splits url and returns a two-tuple: url, rev""" if url.startswith('ssh:'): # Make sure ssh://test@example.com/test.git@stable works - regex = r"(ssh://(?:[\w]+@)?[-\w:\.]+/[-\w\./]+)(?:@([\w/]+))?" + regex = r"(ssh://(?:[\w]+@)?[-\w:\.]+/[-\w\./]+)(?:@(.+))?" components = re.search(regex, url).groups() else: components = url.split("@") diff --git a/tests/gclient_utils_test.py b/tests/gclient_utils_test.py index d1150346bd..1f01962816 100644 --- a/tests/gclient_utils_test.py +++ b/tests/gclient_utils_test.py @@ -70,6 +70,10 @@ class SplitUrlRevisionTestCase(SuperMoxTestBase): out_url, out_rev = gclient_utils.SplitUrlRevision("%s@%s" % (url, rev)) self.assertEquals(out_rev, rev) self.assertEquals(out_url, url) + rev = "test-stable" + 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"