Skip to content

Commit 7fe140d

Browse files
committed
Changed the configuration options list into headers
Changed the configuration options list items into headers, so each section is easier to read and write and can fit examples, sub-sections and such.
1 parent aedf7c1 commit 7fe140d

File tree

2 files changed

+131
-115
lines changed

2 files changed

+131
-115
lines changed

docs/configuration.md

Lines changed: 130 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -49,79 +49,91 @@ ignore:
4949
5050
The options are:
5151
52-
- **`next-version:`** Allows you to bump the next version explicitly, useful
53-
for bumping `master` or a feature with breaking changes a major increment.
54-
55-
- **`assembly-versioning-scheme:`** When updating assembly info tells
56-
GitVersion how to treat the `AssemblyVersion` attribute. Useful to lock the
57-
major when using Strong Naming. Note: you can use `None` to skip updating the
58-
`AssemblyVersion` while still updating the `AssemblyFileVersion` and
59-
`AssemblyInformationVersion` attributes.
60-
61-
- **`assembly-informational-format:`** Set this to any of the available
62-
[variables](/more-info/variables) to change the value of the
63-
`AssemblyInformationalVersion` attribute. Default set to
64-
`{InformationalVersion}`. It also supports string interpolation
65-
(`{MajorMinorPatch}+{Branch}`)
66-
67-
- **`mode:`** Sets the mode of how GitVersion should create a new version. Read
68-
more at [versioning mode](/reference/versioning-mode.md).
69-
70-
- **`continuous-delivery-fallback-tag:`** When using `mode:
71-
ContinuousDeployment`, the value specified will be used as the pre-release tag
72-
for branches which do not have one specified. Default set to `ci`.
73-
74-
- **`tag-prefix:`** A regex which is used to trim git tags before processing (eg
75-
v1.0.0). Default is `[vV]` though this is just for illustrative purposes as we
76-
do a IgnoreCase match and could be `v`.
77-
78-
- **`major-version-bump-message:`** The regex to match commit messages with to
79-
perform a major version increment. Default set to
80-
`'\+semver:\s?(breaking|major)'`, which will match occurrences of
81-
`+semver: major` and `+semver: breaking` in a commit message.
82-
83-
- **`minor-version-bump-message:`** The regex to match commit messages with to
84-
perform a minor version increment. Default set to
85-
`'\+semver:\s?(feature|minor)'`, which will match occurrences of
86-
`+semver: feature` and `+semver: minor` in a commit message.
87-
88-
- **`patch-version-bump-message:`** The regex to match commit messages with to
89-
perform a patch version increment. Default set to `'\+semver:\s?(fix|patch)'`,
90-
which will match occurrences of `+semver: fix` and `+semver: patch` in a
91-
commit message.
92-
93-
- **`no-bump-message:`** Used to tell GitVersion not to increment when in
94-
Mainline development mode. Default `\+semver:\s?(none|skip)`, which will match
95-
occurrences of `+semver: none` and `+semver: skip`
96-
97-
- **`legacy-semver-padding:`** The number of characters to pad `LegacySemVer` to
98-
in the `LegacySemVerPadded` [variable](/more-info/variables). Is default set
99-
to `4`, which will pad the `LegacySemVer` value of `3.0.0-beta1` to
100-
`3.0.0-beta0001`.
101-
102-
- **`build-metadata-padding:`** The number of characters to pad `BuildMetaData`
103-
to in the `BuildMetaDataPadded` [variable](/more-info/variables). Is default
104-
set to `4`, which will pad the `BuildMetaData` value of `1` to `0001`.
105-
106-
- **`commits-since-version-source-padding:`** The number of characters to pad
107-
`CommitsSinceVersionSource` to in the `CommitsSinceVersionSourcePadded`
108-
[variable](/more-info/variables). Is default set to `4`, which will pad the
109-
`CommitsSinceVersionSource` value of `1` to `0001`.
110-
111-
- **`commit-message-incrementing:`** Sets whether it should be possible to
112-
increment the version with special syntax in the commit message. See the
113-
`*-version-bump-message` options above for details on the syntax. Default set
114-
to `Enabled`; set to `Disabled` to disable.
115-
116-
- **`ignore:`** The header for ignore configuration
117-
- **`sha:`** A sequence of SHAs to be excluded from the version calculations.
118-
Useful when there is a rogue commit in history yielding a bad version.
119-
- **`commits-before:`** Date and time in the format `yyyy-MM-ddTHH:mm:ss` (eg
120-
`commits-before: 2015-10-23T12:23:15`) to setup an exclusion range.
121-
Effectively any commit < `commits-before` will be ignored.
52+
### `next-version`
53+
Allows you to bump the next version explicitly, useful for bumping `master` or a
54+
feature with breaking changes a major increment.
55+
56+
### `assembly-versioning-scheme`
57+
When updating assembly info, `assembly-versioning-scheme` tells GitVersion how
58+
to treat the `AssemblyVersion` attribute. Useful to lock the major when using
59+
Strong Naming. Note: you can use `None` to skip updating the `AssemblyVersion`
60+
while still updating the `AssemblyFileVersion` and `AssemblyInformationVersion`
61+
attributes.
62+
63+
### `assembly-informational-format`
64+
Set this to any of the available [variables](/more-info/variables) to change the
65+
value of the `AssemblyInformationalVersion` attribute. Default set to
66+
`{InformationalVersion}`. It also supports string interpolation
67+
(`{MajorMinorPatch}+{Branch}`)
68+
69+
### `mode`
70+
Sets the `mode` of how GitVersion should create a new version. Read more at
71+
[versioning mode](/reference/versioning-mode.md).
72+
73+
### `continuous-delivery-fallback-tag`
74+
When using `mode: ContinuousDeployment`, the value specified in
75+
`continuous-delivery-fallback-tag` will be used as the pre-release tag for
76+
branches which do not have one specified. Default set to `ci`.
77+
78+
### `tag-prefix`
79+
A regex which is used to trim git tags before processing (eg v1.0.0). Default is
80+
`[vV]` though this is just for illustrative purposes as we do a IgnoreCase match
81+
and could be `v`.
82+
83+
### `major-version-bump-message`
84+
The regex to match commit messages with to perform a major version increment.
85+
Default set to `'\+semver:\s?(breaking|major)'`, which will match occurrences of
86+
`+semver: major` and `+semver: breaking` in a commit message.
87+
88+
### `minor-version-bump-message`
89+
The regex to match commit messages with to perform a minor version increment.
90+
Default set to `'\+semver:\s?(feature|minor)'`, which will match occurrences of
91+
`+semver: feature` and `+semver: minor` in a commit message.
92+
93+
### `patch-version-bump-message`
94+
The regex to match commit messages with to perform a patch version increment.
95+
Default set to `'\+semver:\s?(fix|patch)'`, which will match occurrences of
96+
`+semver: fix` and `+semver: patch` in a commit message.
97+
98+
### `no-bump-message`
99+
Used to tell GitVersion not to increment when in Mainline development mode.
100+
Default `\+semver:\s?(none|skip)`, which will match occurrences of `+semver:
101+
none` and `+semver: skip`
102+
103+
### `legacy-semver-padding`
104+
The number of characters to pad `LegacySemVer` to in the `LegacySemVerPadded`
105+
[variable](/more-info/variables). Is default set to `4`, which will pad the
106+
`LegacySemVer` value of `3.0.0-beta1` to `3.0.0-beta0001`.
107+
108+
### `build-metadata-padding`
109+
The number of characters to pad `BuildMetaData` to in the `BuildMetaDataPadded`
110+
[variable](/more-info/variables). Is default set to `4`, which will pad the
111+
`BuildMetaData` value of `1` to `0001`.
112+
113+
### `commits-since-version-source-padding`
114+
The number of characters to pad `CommitsSinceVersionSource` to in the
115+
`CommitsSinceVersionSourcePadded` [variable](/more-info/variables). Is default
116+
set to `4`, which will pad the `CommitsSinceVersionSource` value of `1` to
117+
`0001`.
118+
119+
### `commit-message-incrementing`
120+
Sets whether it should be possible to increment the version with special syntax
121+
in the commit message. See the `*-version-bump-message` options above for
122+
details on the syntax. Default set to `Enabled`; set to `Disabled` to disable.
123+
124+
### `ignore`
125+
The header for ignore configuration
126+
127+
#### `sha`
128+
A sequence of SHAs to be excluded from the version calculations. Useful when
129+
there is a rogue commit in history yielding a bad version.
130+
131+
#### `commits-before`
132+
Date and time in the format `yyyy-MM-ddTHH:mm:ss` (eg `commits-before:
133+
2015-10-23T12:23:15`) to setup an exclusion range. Effectively any commit before
134+
`commits-before` will be ignored.
122135

123136
## Branch configuration
124-
125137
Then we have branch specific configuration, which looks something like this:
126138

127139
```yaml
@@ -185,39 +197,45 @@ branches:
185197
is-release-branch: false
186198
```
187199

188-
The options in here are:
189-
190-
- **`branches:`** The header for all the individual branch configuration.
191-
192-
- **`mode:`** Same as above
193-
194-
- **`tag:`** The pre release tag to use for this branch.
195-
Use the value `useBranchName` to use the branch name instead. For example
196-
`feature/foo` would become a pre-release tag of `foo` with this value.
197-
Use the value `{BranchName}` as a placeholder to insert the branch name. For
198-
example `feature/foo` would become a pre-release tag of `alpha.foo` with the
199-
value of `alpha.{BranchName}`.
200-
**Note:** To clear a default use an empty string: `tag: ""`
201-
202-
- **`increment:`** the part of the SemVer to increment when GitVersion detects
203-
it needs to be (i.e commit after a tag)
204-
205-
- **`prevent-increment-of-merged-branch-version:`** When `release-2.0.0` is
206-
merged into master, we want master to build `2.0.0`. If `release-2.0.0` is
207-
merged into develop we want it to build `2.1.0`, this option prevents
208-
incrementing after a versioned branch is merged
209-
210-
- **`tag-number-pattern:`** Pull requests require us to extract the pre-release
211-
number out of the branch name so `refs/pulls/534/merge` builds as
212-
`PullRequest.534`.
213-
This is a regex with a named capture group called `number`
214-
If the branch mode is set to ContinuousDeployment, then the extracted
215-
`number` is appended to the name of the pre-release tag and the number
216-
portion is the number of commits since the last tag.
217-
This enables consecutive commits to the pull request branch to generate
218-
unique full semantic version numbers when the branch is configured to use
219-
ContinuousDeployment mode.
220-
Example usage:
200+
We don't envision many people needing to change most of these configuration
201+
values, but here they are if you need to:
202+
203+
### `branches`
204+
The header for all the individual branch configuration.
205+
206+
### `mode`
207+
Same as for the global configuration, explained above.
208+
209+
### `tag`
210+
The pre release tag to use for this branch. Use the value `useBranchName` to use
211+
the branch name instead. For example `feature/foo` would become a pre-release
212+
tag of `foo` with this value. Use the value `{BranchName}` as a placeholder to
213+
insert the branch name. For example `feature/foo` would become a pre-release tag
214+
of `alpha.foo` with the value of `alpha.{BranchName}`. **Note:** To clear a
215+
default use an empty string: `tag: ''`
216+
217+
### `increment`
218+
The part of the SemVer to increment when GitVersion detects it needs to be (i.e
219+
commit after a tag)
220+
221+
### `prevent-increment-of-merged-branch-version`
222+
When `release-2.0.0` is merged into master, we want master to build `2.0.0`. If
223+
`release-2.0.0` is merged into develop we want it to build `2.1.0`, this option
224+
prevents incrementing after a versioned branch is merged
225+
226+
### `tag-number-pattern`
227+
Pull requests require us to extract the pre-release number out of the branch
228+
name so `refs/pulls/534/merge` builds as `PullRequest.534`. This is a regex with
229+
a named capture group called `number`.
230+
231+
If the branch `mode` is set to `ContinuousDeployment`, then the extracted
232+
`number` is appended to the name of the pre-release tag and the number portion
233+
is the number of commits since the last tag. This enables consecutive commits to
234+
the pull request branch to generate unique full semantic version numbers when
235+
the branch is configured to use ContinuousDeployment mode.
236+
237+
**Example usage:**
238+
221239
```yaml
222240
branches:
223241
(pull|pull\-requests|pr)[/-]:
@@ -228,15 +246,13 @@ branches:
228246
tag-name-pattern: '[/-](?<number>\d+)[-/]'
229247
```
230248

231-
- **`track-merge-target:`** Strategy which will look for tagged merge commits
232-
directly off the current branch. For example `develop` → `release/1.0.0` →
233-
merge into `master` and tag `1.0.0`. The tag is *not* on develop, but develop
234-
should be version `1.0.0` now.
235-
236-
- **`is-develop:`** Indicates this branch config represents develop in GitFlow
249+
### `track-merge-target`
250+
Strategy which will look for tagged merge commits directly off the current
251+
branch. For example `develop` → `release/1.0.0` → merge into `master` and tag
252+
`1.0.0`. The tag is *not* on develop, but develop should be version `1.0.0` now.
237253

238-
- **`is-release-branch:`** Indicates this branch config represents a release
239-
branch in GitFlow
254+
### `is-develop`
255+
Indicates this branch config represents develop in GitFlow.
240256

241-
We don't envision many people needing to change most of these configuration
242-
values, but they are there if you need to.
257+
### `is-release-branch`
258+
Indicates this branch config represents a release branch in GitFlow.

src/GitVersionCore.Tests/DocumentationTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public void ConfigurationDocumentationIsUpToDate()
3232

3333
foreach (var configProperty in configProperties)
3434
{
35-
var formattedConfigProperty = string.Format("**`{0}:`**", configProperty);
35+
var formattedConfigProperty = string.Format("### `{0}`", configProperty);
3636
configurationDocumentationFile.ShouldContain(formattedConfigProperty,
3737
Environment.NewLine + configurationDocumentationFile);
3838
}

0 commit comments

Comments
 (0)