1
1
Fork 0
mirror of https://github.com/pypa/pip synced 2023-12-13 21:30:23 +01:00

Revert "#2414: parse SSH repositories url with a commit hash"

This commit is contained in:
Donald Stufft 2015-03-16 13:57:41 -04:00
parent e3e335d8e6
commit fca91e1aff
3 changed files with 3 additions and 47 deletions

View file

@ -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):

View file

@ -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

View file

@ -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"