From b9f2f6236b9ad214674037090a470294e42ca5e2 Mon Sep 17 00:00:00 2001 From: "msb@chromium.org" Date: Thu, 19 Nov 2009 23:45:35 +0000 Subject: [PATCH] gclient: fix bug in parsing ssh urls Review URL: http://codereview.chromium.org/402105 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@32568 0039d316-1c4b-4281-b951-d872f2087c98 --- gclient_utils.py | 2 +- tests/gclient_utils_test.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gclient_utils.py b/gclient_utils.py index 03d779244..e2cfb11b3 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 d1150346b..1f0196281 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"