@@ -3,93 +3,31 @@ Version Control System Fields
33
44.. _vcs-fields :
55
6- Most of the version control system (VCS) fields types are common to both
7- ``source-repository `` and ``source-repository-package `` stanzas.
8-
9- .. list-table ::
10- :header-rows: 1
11- :widths: 30 30 40
12-
13- * - Field Name
14- - source-repository (head|this)
15- - source-repository-package
16- * - type
17- - [x]
18- - [x]
19- * - location
20- - [x]
21- - [x]
22- * - branch
23- - [x]
24- - [x]
25- * - tag
26- - [x]
27- - [x]
28- * - subdir
29- - [x] (0 or 1)
30- - [x] (0 or 1 for each dependency)
31- * - module (CVS only)
32- - [x]
33- - [_]
34- * - post-checkout-command
35- - [_]
36- - [x]
6+ .. include :: vcs/fields.rst
377
388.. _vcs-kind :
399
4010VCS kind
4111^^^^^^^^
4212
43- Cabal supports specifying different information for various common source
44- control systems. This is the name of the source control system used for a
45- repository. The currently recognised types are:
46-
47- - ``darcs ``
48- - ``git ``
49- - ``svn ``
50- - ``cvs ``
51- - ``mercurial `` (or alias ``hg ``)
52- - ``bazaar `` (or alias ``bzr ``)
53- - ``arch ``
54- - ``monotone ``
55- - ``pijul ``
56-
57- The VCS kind will determine what other fields are appropriate to specify for a
58- particular version control system.
13+ .. include :: vcs/kind.rst
5914
6015VCS location
6116^^^^^^^^^^^^
6217
63- The location of the repository, usually a URL but the exact form of this field
64- depends on the repository type. For example:
65-
66- - for Darcs: ``http://code.haskell.org/foo/ ``
67- - for Git: ``https://github.com/foo/bar.git ``
68- - for CVS: ``
[email protected] :/cvs``
18+ .. include :: vcs/location.rst
6919
7020VCS branch
7121^^^^^^^^^^
7222
73- Many source control systems support the notion of a branch, as a distinct
74- concept from having repositories in separate locations. For example CVS, SVN and
75- git use branches while darcs uses different locations for different branches. If
76- you need to specify a branch to identify a your repository then specify it in
77- this field.
23+ .. include :: vcs/branch.rst
7824
7925VCS tag
8026^^^^^^^
8127
82- A tag identifies a particular state of a source repository. The exact form of
83- the tag depends on the repository type.
28+ .. include :: vcs/tag.rst
8429
8530VCS subdirectory
8631^^^^^^^^^^^^^^^^
8732
88- A field of this type is always optional because it defaults to empty, which
89- corresponds to the root directory of the repository and is the same as
90- specifying ``. `` explicitly.
91-
92- Some projects put the sources for multiple packages inside a single VCS
93- repository. This field lets you specify the relative path from the root of the
94- repository to the top directory for the package, i.e. the directory containing
95- the package's ``.cabal `` file.
33+ .. include :: vcs/subdir.rst
0 commit comments