1
- mode : ContinuousDeployment
1
+ # This file configures GitVersion 6.x to work with Terminal.Gui's GitFlow branching strategy.
2
+ #
3
+ # Terminal.Gui uses the GitFlow branching strategy.
4
+ # https://gitversion.net/docs/learn/branching-strategies/gitflow/
5
+ #
6
+ # - We have two main branches: `v1_release` and `v1_develop`.
7
+ # - `v1_release` is the main branch for V1 releases and matches the latest NuGet release package (e.g., 1.0.0);
8
+ # prior to release, it uses pre-release labels (e.g., 1.0.0-prealpha.1).
9
+ # - `v1_develop` is the development branch for V2 and always carries a pre-release label (e.g., 1.1.0-develop.1).
10
+ # - Development happens on feature branches off `v1_develop`.
11
+ # - For releases, we merge feature branches into `v1_develop`, then `v1_develop` into `v1_release`.
12
+ # - The ./.github/workflows/publish.yml builds and publishes on pushes to `v1_develop` and `v1_release`.
13
+ #
14
+ # Branches
15
+ # - v1_release: Main branch for V1 (historical)
16
+ # - v1_develop: Develop branch for V1 (historical)
17
+ #
18
+ # Package Naming:
19
+ # - from v1_develop: 2.1.0-develop.1 (minor version increments)
20
+ # - from v1_release (pre-release): 2.0.0-prealpha.1 or 2.0.0-beta.1
21
+ # - from v1_release (release): 2.0.0 (patch version increments)
22
+ #
23
+ mode : ContinuousDelivery # GitVersion 6.x uses Mainline mode for GitFlow, focusing on main branch releases
24
+
25
+ # We prefix our tags with 'v' or 'V' (e.g., v1.0.0)
2
26
tag-prefix : ' [vV]'
3
- continuous-delivery-fallback-tag : pre
27
+
4
28
branches :
5
- v1_develop :
6
- mode : ContinuousDeployment
7
- tag : pre
8
- regex : v1_develop
9
- source-branches :
10
- - v1_release
11
- pre-release-weight : 100
12
- v1_release :
13
- tag : rc
29
+
30
+ # V2 Release Branch
31
+ main :
32
+ # Matches the v1_release branch
33
+ regex : ^v1_release$
34
+ # Uses 'prealpha' as pre-release label before official release
35
+ label : 1.0.0-prealpha.1
36
+ # Increments patch version (x.y.z+1) on commits
14
37
increment : Patch
15
- regex : v1_release
16
- source-branches :
17
- - v1_develop
18
- - v1_release
19
- v1_feature :
20
- tag : useBranchName
21
- regex : ^features?[/-]
22
- source-branches :
23
- - v1_develop
24
- - v1_release
38
+ # Specifies v1_develop as the source branch
39
+ source-branches : ['develop']
40
+ pre-release-weight : 100
41
+
42
+ # V2 Development Branch
43
+ develop :
44
+ # Matches the v1_develop branch
45
+ regex : v1_develop
46
+ # Adds 'develop' as pre-release label (e.g., 2.1.0-develop.1)
47
+ label : develop
48
+ # Increments minor version (x.y+1.z) on commits
49
+ increment : Minor
50
+ # No source branches specified as this is the root of development
51
+ source-branches : []
52
+ # Indicates this branch feeds into release branches
53
+ tracks-release-branches : true
54
+
55
+ # # V1 Branches - Included for historical reference
56
+ # v1_develop:
57
+ # regex: v1_develop
58
+ # label: v1_develop
59
+ # increment: Minor
60
+ # source-branches: ['v1_release']
61
+ # # Lower weight keeps V1 pre-releases sorted below V2
62
+ # pre-release-weight: 100
63
+
64
+ # v1_release:
65
+ # regex: v1_release
66
+ # # Empty label for stable releases
67
+ # label: ''
68
+ # increment: Patch
69
+ # source-branches: ['v1_develop']
70
+
71
+ # Pull Request Branches
72
+ # Configures versioning for PRs (e.g., 2.0.0-pr.feature-123.1)
25
73
pull-request :
26
- tag : PullRequest.{BranchName}
74
+ # Matches typical PR branch names
75
+ regex : ^(pull|pull\-requests|pr)[/-]
76
+ # Uses 'pr' prefix with branch name in the label (e.g., pr.feature-123)
77
+ label : pr.{BranchName}
78
+ # Inherits increment strategy from source branch
27
79
increment : Inherit
80
+ source-branches :
81
+ - develop
82
+ - main
83
+ # High weight ensures PR versions sort after regular pre-releases
84
+ pre-release-weight : 30000
85
+
86
+ # Ignore specific commits if needed (currently empty)
28
87
ignore :
29
- sha : []
88
+ sha : []
0 commit comments