diff options
author | Paulo Koch <paulo.koch@gmail.com> | 2011-10-11 20:08:25 +0100 |
---|---|---|
committer | Paulo Koch <paulo.koch@gmail.com> | 2011-10-11 20:08:25 +0100 |
commit | 930b2596aaa267e9ba28bb5a1066b20d9e0fcfeb (patch) | |
tree | 7dc097781d22d1de63c1e722be76139b969bae38 /setuptools/package_index.py | |
parent | 67ee093341a7342fcbe29dd99800c373abd872a0 (diff) | |
download | external_python_setuptools-930b2596aaa267e9ba28bb5a1066b20d9e0fcfeb.tar.gz external_python_setuptools-930b2596aaa267e9ba28bb5a1066b20d9e0fcfeb.tar.bz2 external_python_setuptools-930b2596aaa267e9ba28bb5a1066b20d9e0fcfeb.zip |
Add support for Mercurial URLs.
--HG--
branch : distribute
extra : rebase_source : 7c33d5bea70d9300cff635646988b13c007e24c9
Diffstat (limited to 'setuptools/package_index.py')
-rwxr-xr-x | setuptools/package_index.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/setuptools/package_index.py b/setuptools/package_index.py index da586a27..cd89e9a6 100755 --- a/setuptools/package_index.py +++ b/setuptools/package_index.py @@ -659,6 +659,8 @@ class PackageIndex(Environment): return self._download_svn(url, filename) elif scheme=='git' or scheme.startswith('git+'): return self._download_git(url, filename) + elif scheme.startswith('hg+'): + return self._download_hg(url, filename) elif scheme=='file': return urllib.url2pathname(urlparse.urlparse(url)[2]) else: @@ -708,6 +710,15 @@ class PackageIndex(Environment): os.system("git clone -q %s %s" % (url, filename)) return filename + def _download_hg(self, url, filename): + if url.startswith('hg+'): + url = url[3:] + url = url.split('#',1)[0] # remove any fragment for svn's sake + filename = filename.split('#',1)[0] # remove any fragment to get a decent name. + self.info("Doing hg clone from %s to %s", url, filename) + os.system("hg clone --quiet %s %s" % (url, filename)) + return filename + def debug(self, msg, *args): log.debug(msg, *args) |