summaryrefslogtreecommitdiff
path: root/darcsver-1.6.3.egg/share/doc/python-darcsver/README.txt
blob: 8f0ffa767cc0396fa52e2664f0110af6e84e1109 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
darcsver - generate version numbers from darcs revision control history
=======================================================================

What Does It Do
---------------

Create files containing version numbers, based upon the latest darcs
release tag.

If your source tree is coming from darcs (i.e. it is in a darcs
repository), this tool will determine the most recent release tag,
count the patches that have been applied since then, and compute a
version number to be written into _version.py (and optionally other
version files). This version number will be available by doing:

 from your_package_name import __version__

Source trees that do not come from darcs (e.g. release tarballs, nightly
tarballs) and are not within a darcs repository should instead, come with a
_version.py that was generated before the tarball was produced. In this case,
this tool will quietly exit without modifying the existing _version.py .

'release tags' are tags in the source repository that match the following
regexp:

 ^your_package_name-(\d+)(\.(\d+)(\.(\d+))?)?((a|b|c|rc)(\d+))?


Installation
------------

With easy_install:

  easy_install darcsver

Alternative manual installation:

  tar -zxvf darcsver-X.Y.Z.tar.gz
  cd darcsver-X.Y.Z
  python setup.py install

Where X.Y.Z is a version number.

Alternative to make a specific package use darcsver without installing
darcsver into the system:

  Put "setup_requires=['darcsver']" in the call to setup() in the
  package's setup.py file.


Usage
-----

There are two ways to use this: the command-line tool and the
setuptools plugin.

To use the command-line tool, execute it as:

darcsver $PACKAGE_NAME $PATH_TO_VERSION_PY


To use the setuptools plugin (which enables you to write "./setup.py
darcsver" and which cleverly figures out where the _version.py file
ought to go), you must first package your python module with
`setup.py` and use setuptools.

The former is well documented in the distutils manual:

  http://docs.python.org/dist/dist.html

To use setuptools instead of distutils, just edit `setup.py` and
change

  from distutils.core import setup

to

  from setuptools import setup


References
----------

How to distribute Python modules with Distutils:

  http://docs.python.org/dist/dist.html


Setuptools complete manual:

  http://peak.telecommunity.com/DevCenter/setuptools


Thanks to Yannick Gingras for providing the prototype for this
README.txt.