具有相同配置的Nerdbank.GitVersioning提供不同的结果

时间:2019-03-27 09:22:18

标签: versioning

我刚刚在项目中设置了Nerdbank.GitVersionning,并且设置与Dapper相同

这是我的version.json

{
  "$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
  "version": "0.1.0-alpha.{height}",
  "assemblyVersion": "0.1.0.0",
  "publicReleaseRefSpec": [
    "^refs/heads/master$",
    "^refs/tags/v\\d+\\.\\d+"
  ],
  "nugetPackageVersion": {
    "semVer": 2
  },
  "cloudBuild": {
    "buildNumber": {
      "enabled": true,
      "setVersionVariables": true
    }
  }
}

如果我执行nbgv get-version:

Version:                      0.1.0.1
AssemblyVersion:              0.1.0.0
AssemblyInformationalVersion: 0.1.0-alpha.1+021de4e5ee
NuGet package Version:        0.1.0-alpha.1
NPM package Version:          0.1.0-alpha.1

这是Dapper的version.json

{
  "version": "1.50.8-alpha.{height}",
  "assemblyVersion": "1.50.0.0",
  "publicReleaseRefSpec": [
    "^refs/heads/master$",
    "^refs/tags/v\\d+\\.\\d+"
  ],
  "nugetPackageVersion": {
    "semVer": 2
  },
  "cloudBuild": {
    "buildNumber": {
      "enabled": true,
      "setVersionVariables": true
    }
  }
}

如果我执行nbgv get-version:

Version:                      1.50.8.23
AssemblyVersion:              1.50.0.0
AssemblyInformationalVersion: 1.50.8-alpha.23+e7020b2bde
NuGet package Version:        1.50.8-alpha.23.e7020b2bde
NPM package Version:          1.50.8-alpha.23.e7020b2bde

关于Nuget和NPM软件包版本为何有所不同的任何想法吗?

1 个答案:

答案 0 :(得分:3)

我怀疑您在回购中的master分支中,而不在Dapper回购中的master分支中。这就是为什么从NuGet / NPM软件包版本字符串中删除git commit id的原因。根据{{​​3}}:

publicReleaseRefSpec字段会导致从某些分支或标签中生成的内容自动从该版本中删除-gabc123 git commit ID后缀,从而便于使用友好的版本号(假定线性)从这些引用中构建发行版本。