Document a subtlety regarding using custom classes in an options file.
[cvs2svn.git] / setup.py
blob8fbb8ff997092a1ae2c3821aab44052b922fc3e7
1 #!/usr/bin/env python
3 import sys
4 from distutils.core import setup
6 assert 0x02040000 <= sys.hexversion < 0x03000000, \
7 "Install Python 2, version 2.4 or greater"
10 def get_version():
11 "Return the version number of cvs2svn."
13 from cvs2svn_lib.version import VERSION
14 return VERSION
17 setup(
18 # Metadata.
19 name = "cvs2svn",
20 version = get_version(),
21 description = "CVS to Subversion/git/Bazaar/Mercurial repository converter",
22 author = "The cvs2svn team",
23 author_email = "dev@cvs2svn.tigris.org",
24 url = "http://cvs2svn.tigris.org/",
25 download_url = "http://cvs2svn.tigris.org/servlets/ProjectDocumentList?folderID=2976",
26 license = "Apache-style",
27 long_description = """\
28 cvs2svn_ is a tool for migrating a CVS repository to Subversion_, git_,
29 Bazaar_, or Mercurial_. The main design goals are robustness and 100% data
30 preservation. cvs2svn can convert just about any CVS repository we've ever
31 seen, including gcc, Mozilla, FreeBSD, KDE, GNOME...
33 .. _cvs2svn: http://cvs2svn.tigris.org/
34 .. _Subversion: http://svn.tigris.org/
35 .. _git: http://git-scm.com/
36 .. _Bazaar: http://bazaar-vcs.org/
37 .. _Mercurial: http://mercurial.selenic.com/
39 cvs2svn infers what happened in the history of your CVS repository and
40 replicates that history as accurately as possible in the target SCM. All
41 revisions, branches, tags, log messages, author names, and commit dates are
42 converted. cvs2svn deduces what CVS modifications were made at the same time,
43 and outputs these modifications grouped together as changesets in the target
44 SCM. cvs2svn also deals with many CVS quirks and is highly configurable.
45 See the comprehensive `feature list`_.
47 .. _feature list: http://cvs2svn.tigris.org/features.html
48 .. _documentation: http://cvs2svn.tigris.org/cvs2svn.html
50 Please read the documentation_ carefully before using cvs2svn.
53 Latest development version
54 --------------------------
56 For general use, the most recent released version of cvs2svn is usually the
57 best choice. However, if you want to use the newest cvs2svn features or if
58 you're debugging or patching cvs2svn, you might want to use the trunk version
59 (which is usually quite stable). To do so, use Subversion to check out a
60 working copy from http://cvs2svn.tigris.org/svn/cvs2svn/trunk/ using a command
61 like::
63 svn co --username=guest --password="" http://cvs2svn.tigris.org/svn/cvs2svn/trunk cvs2svn-trunk
64 """,
65 classifiers = [
66 'Development Status :: 5 - Production/Stable',
67 'Environment :: Console',
68 'Intended Audience :: Developers',
69 'Intended Audience :: System Administrators',
70 'License :: OSI Approved',
71 'Natural Language :: English',
72 'Operating System :: OS Independent',
73 'Programming Language :: Python :: 2',
74 'Topic :: Software Development :: Version Control',
75 'Topic :: Software Development :: Version Control :: CVS',
76 'Topic :: Utilities',
78 # Data.
79 packages = ["cvs2svn_lib", "cvs2svn_rcsparse"],
80 scripts = ["cvs2svn", "cvs2git", "cvs2bzr"],