在 GitVersion 的 MainLine 模式下提交功能分支时,补丁版本不会增加

Patch version does not increase when commits are made to feature branch in MainLine mode of GitVersion

我正在尝试找出简单的 Mainline 开发模式。

我的观察如下。

  1. master 分支上的每个直接提交都会增加补丁版本。
  2. 当我创建一个功能分支,然后在这个功能分支上提交时,补丁没有增加。我想知道为什么?只有 PreReleaseTag 在增加。每个提交的示例 featureBranchName.1、featureBranchName.2 等等。补丁不变。

为什么commit到feature分支上补丁版本没有增加?功能分支是否总是意味着预发布?

有没有办法增加提交到功能分支的补丁?

我的 GitVersion.yml 文件如下。 -diag 输出如下,如果有帮助的话。

next-version: 0.1.0
mode: MainLine
assembly-versioning-scheme: MajorMinorPatch
assembly-file-versioning-scheme: MajorMinorPatchTag
increment: Inherit
continuous-delivery-fallback-tag: ci
tag-prefix: '[vV]'
major-version-bump-message: '\+semver:\s?(breaking|major)'
minor-version-bump-message: '\+semver:\s?(feature|minor)'
patch-version-bump-message: '\+semver:\s?(fix|patch)'
no-bump-message: '\+semver:\s?(none|skip)'
legacy-semver-padding: 4
build-metadata-padding: 4
commits-since-version-source-padding: 4
commit-message-incrementing: Enabled
commit-date-format: 'yyyy-MM-dd'
branches:
  master:
    tag: ''
    increment: Patch
    prevent-increment-of-merged-branch-version: true
    track-merge-target: false
    regex: ^master
    tracks-release-branches: false
    is-release-branch: false
  release:
    mode: ContinuousDelivery
    tag: beta
    increment: Patch
    prevent-increment-of-merged-branch-version: true
    track-merge-target: false
    regex: ^releases?[/-]
    tracks-release-branches: false
    is-release-branch: true
    pre-release-weight: 1000
  feature:
    tag: useBranchName
    increment: Inherit
    prevent-increment-of-merged-branch-version: false
    track-merge-target: false
    regex: ^features?[/-]
    tracks-release-branches: false
    is-release-branch: false
  pull-request:
    mode: ContinuousDelivery
    tag: PullRequest
    increment: Inherit
    prevent-increment-of-merged-branch-version: false
    tag-number-pattern: '[/-](?<number>\d+)[-/]'
    track-merge-target: false
    regex: ^(pull|pull\-requests|pr)[/-]
    tracks-release-branches: false
    is-release-branch: false
  hotfix:
    mode: ContinuousDelivery
    tag: beta
    increment: Patch
    prevent-increment-of-merged-branch-version: false
    track-merge-target: false
    regex: ^hotfix(es)?[/-]
    tracks-release-branches: false
    is-release-branch: false
  support:
    mode: ContinuousDelivery
    tag: ''
    increment: Patch
    prevent-increment-of-merged-branch-version: true
    track-merge-target: false
    regex: ^support[/-]
    tracks-release-branches: false
    is-release-branch: false
  develop:
    mode: ContinuousDeployment
    tag: unstable
    increment: Minor
    prevent-increment-of-merged-branch-version: false
    track-merge-target: true
    regex: ^dev(elop)?(ment)?$
    tracks-release-branches: true
    is-release-branch: false
ignore:
  sha: []
merge-message-formats: {}


INFO [01/26/20 22:13:23:28] Dumping commit graph:
INFO [01/26/20 22:13:23:45] * c7eeed9 21 minutes ago  (HEAD -> feature/fet2)
* 97227bd 46 minutes ago  (master)
* 26f8b7b 55 minutes ago
* 59ba070 60 minutes ago
* 948b86f 84 minutes ago  (origin/master, origin/HEAD)
* b45349d 87 minutes ago
* 7e48b14 2 hours ago
* 4da28e2 2 hours ago
* 0b0eabd 2 hours ago
* 8106caa 2 hours ago
* 013cbca 3 hours ago
* 5f26e19 3 hours ago  (tag: 1.0.0)
* 052b643 3 hours ago
* 0f0f4cf 6 hours ago  (tag: v0.1.0)

INFO [01/26/20 22:13:23:45] Working directory: D:\Trials\Git\GitVer\MainLineDevT1
INFO [01/26/20 22:13:23:45] IsDynamicGitRepository: False
INFO [01/26/20 22:13:23:48] Returning Project Root from DotGitDirectory: D:\Trials\Git\GitVer\MainLineDevT1\.git\ - D:\Trials\Git\GitVer\MainLineDevT1\
INFO [01/26/20 22:13:23:48] Running on Windows.
INFO [01/26/20 22:13:23:48] Project root is: D:\Trials\Git\GitVer\MainLineDevT1\
INFO [01/26/20 22:13:23:48] DotGit directory is: D:\Trials\Git\GitVer\MainLineDevT1\.git
INFO [01/26/20 22:13:23:69] Using latest commit on specified branch
INFO [01/26/20 22:13:23:71] Begin: Attempting to inherit branch configuration from parent branch
  INFO [01/26/20 22:13:23:72] Begin: Finding branch source of 'feature/fet2'
    INFO [01/26/20 22:13:23:75] Begin: Finding merge base between 'feature/fet2' and 'master'.
      INFO [01/26/20 22:13:23:77] Found merge base of 97227bd0043bf85078313ea20b0b03e8e7c7263b
      INFO [01/26/20 22:13:23:78] Merge base of feature/fet2' and 'master is 97227bd0043bf85078313ea20b0b03e8e7c7263b
    INFO [01/26/20 22:13:23:78] End: Finding merge base between 'feature/fet2' and 'master'. (Took: 30.87ms)
  INFO [01/26/20 22:13:23:79] End: Finding branch source of 'feature/fet2' (Took: 67.29ms)
  INFO [01/26/20 22:13:23:79] Begin: Getting branches containing the commit '97227bd0043bf85078313ea20b0b03e8e7c7263b'.
    INFO [01/26/20 22:13:23:79] Trying to find direct branches.
    INFO [01/26/20 22:13:23:80] Direct branch found: 'master'.
  INFO [01/26/20 22:13:23:80] End: Getting branches containing the commit '97227bd0043bf85078313ea20b0b03e8e7c7263b'. (Took: 3.24ms)
  INFO [01/26/20 22:13:23:80] Found possible parent branches: master
  INFO [01/26/20 22:13:23:80] End: Attempting to inherit branch configuration from parent branch (Took: 87.76ms)
  INFO [01/26/20 22:13:23:81] Running against branch: feature/fet2 (c7eeed9e3c0cd0379804fab4c7fa137b533a5c64)
  INFO [01/26/20 22:13:23:81] Begin: Calculating base versions
    INFO [01/26/20 22:13:23:82] Fallback base version: 0.1.0 with commit count source 0f0f4cfc7313bfb24f542f33eb14486708ce97a1 (Incremented: None)
    INFO [01/26/20 22:13:23:92] NextVersion in GitVersion configuration file: 0.1.0 with commit count source External Source (Incremented: None)
    INFO [01/26/20 22:13:23:94] Git tag '1.0.0': 1.0.0 with commit count source 5f26e1972c25ee131706aaf0ab91f6bb42a41c49 (Incremented: 1.1.0)
    INFO [01/26/20 22:13:23:94] Git tag 'v0.1.0': 0.1.0 with commit count source 0f0f4cfc7313bfb24f542f33eb14486708ce97a1 (Incremented: 0.2.0)
    INFO [01/26/20 22:13:23:99] Found multiple base versions which will produce the same SemVer (1.1.0), taking oldest source for commit counting (Git tag '1.0.0')
    INFO [01/26/20 22:13:23:99] Base version used: Git tag '1.0.0': 1.0.0 with commit count source 5f26e1972c25ee131706aaf0ab91f6bb42a41c49 (Incremented: 1.1.0)
  INFO [01/26/20 22:13:23:99] End: Calculating base versions (Took: 180.31ms)
  INFO [01/26/20 22:13:23:99] Begin: Using mainline development mode to calculate current version
    INFO [01/26/20 22:13:24:01] Found possible mainline branches: master
    INFO [01/26/20 22:13:24:01] Mainline for current branch is master
    INFO [01/26/20 22:13:24:02] Found branch merge point; choosing 97227bd0043bf85078313ea20b0b03e8e7c7263b as effective mainline tip
    INFO [01/26/20 22:13:24:02] Current branch (feature/fet2) was branch from 97227bd0043bf85078313ea20b0b03e8e7c7263b
    INFO [01/26/20 22:13:24:02] Direct commit on master 013cbca52c56952a5deecdf0dcc1f0ea9fd7b9e3 incremented base versions Patch, now 1.0.1
    INFO [01/26/20 22:13:24:02] Direct commit on master 8106caa0e355d696899876bb6f96533f8421cee6 incremented base versions Patch, now 1.0.2
    INFO [01/26/20 22:13:24:02] Direct commit on master 0b0eabdf3e9be9f93b0c777c909b866c7f1b6f24 incremented base versions Patch, now 1.0.3
    INFO [01/26/20 22:13:24:04] Direct commit on master 4da28e2a2c7cf785458d94717ea54e3cda4f17c8 incremented base versions Patch, now 1.0.4
    INFO [01/26/20 22:13:24:04] Direct commit on master 7e48b14da1fdb71747174502d4f113b8b0aa7671 incremented base versions Patch, now 1.0.5
    INFO [01/26/20 22:13:24:04] Direct commit on master b45349dbc02e9dadd235669c69d1469bae6776d2 incremented base versions Patch, now 1.0.6
    INFO [01/26/20 22:13:24:04] Direct commit on master 948b86fb2d2d1c4bed0033b6670efbd036222f53 incremented base versions Minor, now 1.1.0
    INFO [01/26/20 22:13:24:04] Direct commit on master 59ba070ad8a2ada5c298aef4ca0f2a364e89248f incremented base versions Patch, now 1.1.1
    INFO [01/26/20 22:13:24:04] Direct commit on master 26f8b7b06062da0a0811d3c9a3b4ff52d4b00065 incremented base versions Patch, now 1.1.2
    INFO [01/26/20 22:13:24:04] Direct commit on master 97227bd0043bf85078313ea20b0b03e8e7c7263b incremented base versions Patch, now 1.1.3
    INFO [01/26/20 22:13:24:04] 1 commits found between 97227bd0043bf85078313ea20b0b03e8e7c7263b and c7eeed9e3c0cd0379804fab4c7fa137b533a5c64
    INFO [01/26/20 22:13:24:05] Performing Patch increment for current branch
  INFO [01/26/20 22:13:24:05] End: Using mainline development mode to calculate current version (Took: 52.54ms)
  INFO [01/26/20 22:13:24:05] Using branch name to calculate version tag
  INFO [01/26/20 22:13:24:05] Begin: Getting version tags from branch 'refs/heads/feature/fet2'.
  INFO [01/26/20 22:13:24:06] End: Getting version tags from branch 'refs/heads/feature/fet2'. (Took: 8.20ms)


您没有为 feature 分支配置设置 mode,因此它继承了 Mainline 的全局配置。在 Mainline 交付模式下,版本控制是根据合并到分支计算的(通常 Mainline 仅用于 master 分支)。

尝试设置 mode: ContinuousDeployment 以获得所需的结果。