diff --git a/news/0dd6ac6d-b127-4551-a404-404b0ee8dcd3.trivial.rst b/news/0dd6ac6d-b127-4551-a404-404b0ee8dcd3.trivial.rst new file mode 100644 index 000000000..e69de29bb diff --git a/src/pip/_internal/vcs/subversion.py b/src/pip/_internal/vcs/subversion.py index 85ce2aa91..b6b7010bf 100644 --- a/src/pip/_internal/vcs/subversion.py +++ b/src/pip/_internal/vcs/subversion.py @@ -128,7 +128,11 @@ class Subversion(VersionControl): ) raise RemoteNotFoundError - return cls._get_svn_url_rev(location)[0] + url, _rev = cls._get_svn_url_rev(location) + if url is None: + raise RemoteNotFoundError + + return url @classmethod def _get_svn_url_rev(cls, location): diff --git a/tests/functional/test_vcs_subversion.py b/tests/functional/test_vcs_subversion.py index c71c793f8..194019da9 100644 --- a/tests/functional/test_vcs_subversion.py +++ b/tests/functional/test_vcs_subversion.py @@ -15,3 +15,17 @@ def test_get_remote_url__no_remote(script, tmpdir): with pytest.raises(RemoteNotFoundError): Subversion().get_remote_url(repo_dir) + + +@need_svn +def test_get_remote_url__no_remote_with_setup(script, tmpdir): + repo_dir = tmpdir / 'temp-repo' + repo_dir.mkdir() + setup = repo_dir / "setup.py" + setup.touch() + repo_dir = str(repo_dir) + + _create_svn_repo(script, repo_dir) + + with pytest.raises(RemoteNotFoundError): + Subversion().get_remote_url(repo_dir)