Skip to content

Commit 6b97080

Browse files
author
Arnaud Bailly
authored
Introduce VCS policy file (#63)
* Introduce VCS policy file * Add summary entry for vcs * Address review comments
1 parent 2dcf45e commit 6b97080

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
- [Build, CI and Deployment](./policy/build.md)
1212
- [Platform support](./policy/platforms.md)
1313
- [CI](./policy/ci/README.md)
14+
- [Version Control](./policy/vcs.md)
1415
- [Haskell](./policy/haskell/README.md)
1516
- [GHC version policy](./policy/haskell/ghc-version-policy.md)
1617
- [Packaging](./policy/haskell/packaging/README.md)

policy/vcs.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Version Control System
2+
3+
Projects MUST use a _Version Control System_ to ensure changes to the code source are properly tracked and individual changes can be identified and referred to easily.
4+
[git](https://git-scm.com) is the most widespread tool in use those days but there are many good tools to choose from.
5+
6+
When releasing a new version of a software package, projects MUST use _tags_ or any similar mechanism -- symbolic reference -- to identify in the VCS the revision that corresponds to the newly released package.
7+
This tag MUST match the version number of the released package such that it's straightforward to link both.
8+
9+
Projects SHOULD document their tagging convention.
10+
11+
* Version `1.2.3` of a package `X` could be tagged as `1.2.3` or `v1.2.3` or `X-1.2.3`, etc.
12+
* Project `P` releasing two packages `X` and `Y` respectively with version `1.2.3` and `2.3.4` could tag the same revision with `X-1.2.3` and `Y-2.3.4`

0 commit comments

Comments
 (0)