diff --git a/readthedocs/projects/constants.py b/readthedocs/projects/constants.py index 8837f13b086..576f613c21d 100644 --- a/readthedocs/projects/constants.py +++ b/readthedocs/projects/constants.py @@ -297,9 +297,9 @@ re.compile('github.com:(.+)/(.+)\.git$'), ] BITBUCKET_REGEXS = [ + re.compile('bitbucket.org/(.+)/(.+)\.git$'), re.compile('@bitbucket.org/(.+)/(.+)\.git$'), - re.compile('bitbucket.org/(.+)/(.+)/'), - re.compile('bitbucket.org/(.+)/(.+)'), + re.compile('bitbucket.org/(.+)/(.+)/?'), re.compile('bitbucket.org:(.+)/(.+)\.git$'), ] GITLAB_REGEXS = [ diff --git a/readthedocs/rtd_tests/tests/test_repo_parsing.py b/readthedocs/rtd_tests/tests/test_repo_parsing.py index 43231d68036..f946db61e53 100644 --- a/readthedocs/rtd_tests/tests/test_repo_parsing.py +++ b/readthedocs/rtd_tests/tests/test_repo_parsing.py @@ -87,13 +87,13 @@ def test_bitbucket(self): self.assertEqual(self.version.get_bitbucket_url(docroot='/foo/bar/', filename='file'), 'https://bitbucket.org/user/repo.gitbucket.io/src/master/foo/bar/file.rst') self.pip.repo = 'https://bitbucket.org/user/repo.git' - self.assertEqual(self.version.get_bitbucket_url(docroot='/foo/bar/', filename='file'), 'https://bitbucket.org/user/repo.git/src/master/foo/bar/file.rst') + self.assertEqual(self.version.get_bitbucket_url(docroot='/foo/bar/', filename='file'), 'https://bitbucket.org/user/repo/src/master/foo/bar/file.rst') self.pip.repo = 'https://bitbucket.org/user/repo.gitbucket.io.git' - self.assertEqual(self.version.get_bitbucket_url(docroot='/foo/bar/', filename='file'), 'https://bitbucket.org/user/repo.gitbucket.io.git/src/master/foo/bar/file.rst') + self.assertEqual(self.version.get_bitbucket_url(docroot='/foo/bar/', filename='file'), 'https://bitbucket.org/user/repo.gitbucket.io/src/master/foo/bar/file.rst') self.pip.repo = 'https://bitbucket.org/user/repo.git.git' - self.assertEqual(self.version.get_bitbucket_url(docroot='/foo/bar/', filename='file'), 'https://bitbucket.org/user/repo.git.git/src/master/foo/bar/file.rst') + self.assertEqual(self.version.get_bitbucket_url(docroot='/foo/bar/', filename='file'), 'https://bitbucket.org/user/repo.git/src/master/foo/bar/file.rst') def test_bitbucket_https(self): self.pip.repo = 'https://user@bitbucket.org/user/repo.git'