#versioning
#управление версиями
Вопрос:
Я только что настроил Nerdbank.GitVersionning в моем проекте, и у меня те же настройки, что и у Dapper
Вот моя версия.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, получу версию:
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.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, получу версию:
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:
Я подозреваю, что вы находитесь в ветке master в своем репозитории, а не в master в репозитории Dapper. Вот почему идентификаторы коммитов git удаляются из строк версии пакета NuGet / NPM. Согласно https://github.com/AArnott/Nerdbank.GitVersioning/blob/master/doc/versionJson.md:
publicReleaseRefSpec
Поле приводит к тому, что сборки из определенных ветвей или тегов автоматически удаляют из версии суффикс -gabc123 git commit ID, что делает удобным создание релизов из этих ссылок с удобным номером версии, который предполагает линейное управление версиями.