From fca91e1affacfdc601d062c880bc4f662bc6e82a Mon Sep 17 00:00:00 2001 From: Donald Stufft Date: Mon, 16 Mar 2015 13:57:41 -0400 Subject: [PATCH] Revert "#2414: parse SSH repositories url with a commit hash" --- pip/vcs/__init__.py | 14 +++----------- pip/vcs/git.py | 2 -- tests/unit/test_vcs.py | 34 ---------------------------------- 3 files changed, 3 insertions(+), 47 deletions(-) diff --git a/pip/vcs/__init__.py b/pip/vcs/__init__.py index b9a94669e..96cb1319f 100644 --- a/pip/vcs/__init__.py +++ b/pip/vcs/__init__.py @@ -144,17 +144,9 @@ class VersionControl(object): url = self.url.split('+', 1)[1] scheme, netloc, path, query, frag = urllib_parse.urlsplit(url) rev = None - if scheme == 'ssh' and not path: # Fix urllib_parse parsing - url_splitted = url.split('@') - if len(url_splitted) == 3: - url = '%s@%s' % (url_splitted[0], url_splitted[1]) - rev = url_splitted[2].split('#')[0] - assert len(url_splitted) < 4,\ - "You can't have more than two @ in VCS url." - else: - if '@' in path: - path, rev = path.rsplit('@', 1) - url = urllib_parse.urlunsplit((scheme, netloc, path, query, '')) + if '@' in path: + path, rev = path.rsplit('@', 1) + url = urllib_parse.urlunsplit((scheme, netloc, path, query, '')) return url, rev def get_info(self, location): diff --git a/pip/vcs/git.py b/pip/vcs/git.py index efb8b2869..d575f148a 100644 --- a/pip/vcs/git.py +++ b/pip/vcs/git.py @@ -195,8 +195,6 @@ class Git(VersionControl): url = url.replace('ssh://', '') else: url, rev = super(Git, self).get_url_rev() - # For explicit SSH URLs, remove 'ssh://' to clone - url = url.replace('ssh://', '') return url, rev diff --git a/tests/unit/test_vcs.py b/tests/unit/test_vcs.py index 59de98bd9..8b7e6e8ea 100644 --- a/tests/unit/test_vcs.py +++ b/tests/unit/test_vcs.py @@ -39,40 +39,6 @@ def test_git_get_src_requirements(): ]) -def test_git_urls(): - """ - Test git url support. - - SSH has special handling. - """ - https_repo = Git( - url='git+https://github.com/Eyepea/pip.git' - '@8cf54fff31b650847e0cddc2cd2951c34e0b4822#egg=pip' - ) - implicit_ssh_repo = Git( - url='git+git@github.com:Eyepea/pip.git' - '@8cf54fff31b650847e0cddc2cd2951c34e0b4822#egg=pip' - ) - - explicit_ssh_repo = Git( - url='git+ssh://git@github.com:Eyepea/pip.git' - '@8cf54fff31b650847e0cddc2cd2951c34e0b4822#egg=pip' - ) - - assert https_repo.get_url_rev() == ( - 'https://github.com/Eyepea/pip.git', - '8cf54fff31b650847e0cddc2cd2951c34e0b4822', - ) - assert implicit_ssh_repo.get_url_rev() == ( - 'git@github.com:Eyepea/pip.git', - '8cf54fff31b650847e0cddc2cd2951c34e0b4822', - ) - assert explicit_ssh_repo.get_url_rev() == ( - 'git@github.com:Eyepea/pip.git', - '8cf54fff31b650847e0cddc2cd2951c34e0b4822', - ) - - def test_translate_egg_surname(): vc = VersionControl() assert vc.translate_egg_surname("foo") == "foo"