aboutsummaryrefslogtreecommitdiffstats
path: root/docs/setuptools.txt
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2012-10-23 20:39:03 -0400
committerJason R. Coombs <jaraco@jaraco.com>2012-10-23 20:39:03 -0400
commit1747a08955d6db3c7ad4403128501ea13d48ac40 (patch)
tree8a821daaedc549900dda506e6e13503040451422 /docs/setuptools.txt
parent89efff76bc23c4859bfc21e6d4522cf5396a12b3 (diff)
parentfa1318a4b29050341b5397685bc26ecf6ed57d52 (diff)
downloadexternal_python_setuptools-1747a08955d6db3c7ad4403128501ea13d48ac40.tar.gz
external_python_setuptools-1747a08955d6db3c7ad4403128501ea13d48ac40.tar.bz2
external_python_setuptools-1747a08955d6db3c7ad4403128501ea13d48ac40.zip
Merged in pkoch/distribute (pull request #21)
--HG-- branch : distribute extra : rebase_source : 1e4ad7f02d0718b3665aa2e2405721d64e42fc1b
Diffstat (limited to 'docs/setuptools.txt')
-rw-r--r--docs/setuptools.txt35
1 files changed, 31 insertions, 4 deletions
diff --git a/docs/setuptools.txt b/docs/setuptools.txt
index 81c3aae3..31ecc931 100644
--- a/docs/setuptools.txt
+++ b/docs/setuptools.txt
@@ -616,14 +616,20 @@ Dependencies that aren't in PyPI
If your project depends on packages that aren't registered in PyPI, you may
still be able to depend on them, as long as they are available for download
-as an egg, in the standard distutils ``sdist`` format, or as a single ``.py``
-file. You just need to add some URLs to the ``dependency_links`` argument to
+as:
+
+- an egg, in the standard distutils ``sdist`` format,
+- a single ``.py`` file, or
+- a VCS repository (Subversion, Mercurial, or Git).
+
+You just need to add some URLs to the ``dependency_links`` argument to
``setup()``.
The URLs must be either:
-1. direct download URLs, or
-2. the URLs of web pages that contain direct download links
+1. direct download URLs,
+2. the URLs of web pages that contain direct download links, or
+3. the repository's URL
In general, it's better to link to web pages, because it is usually less
complex to update a web page than to release a new version of your project.
@@ -637,6 +643,27 @@ by replacing them with underscores.) EasyInstall will recognize this suffix
and automatically create a trivial ``setup.py`` to wrap the single ``.py`` file
as an egg.
+In the case of a VCS checkout, you should also append ``#egg=project-version``
+in order to identify for what package that checkout should be used. You can
+append ``@REV`` to the URL's path (before the fragment) to specify a revision.
+Additionally, you can also force the VCS being used by prepending the URL with
+a certain prefix. Currently available are:
+
+- ``svn+URL`` for Subversion,
+- ``git+URL`` for Git, and
+- ``hg+URL`` for Mercurial
+
+A more complete example would be:
+
+ ``vcs+proto://host/path@revision#egg=project-version``
+
+Be careful with the version. It should match the one inside the project files.
+If you want do disregard the version, you have to omit it both in the
+``requires`` and in the URL's fragment.
+
+This will do a checkout (or a clone, in Git and Mercurial parlance) to a
+temporary folder and run ``setup.py bdist_egg``.
+
The ``dependency_links`` option takes the form of a list of URL strings. For
example, the below will cause EasyInstall to search the specified page for
eggs or source distributions, if the package's dependencies aren't already