У нас есть следующая структура ветвления для стабильных версий:
"release / VANNA "
... где VANNA состоит из
- Всегда буква 'V'
- Одна заглавная буква AZ
- Одно число 1-9
- Одно число 0-9
- Одна заглавная буква AZ
Предварительные версии имеют следующую схему именования ветвей:
"release / VANNA-ITN "
- Всегда буква 'V'
- Одна заглавная буква AZ
- Одна цифра 1-9
- Одна цифра 0-9
- Одна заглавная буква AZ
- Всегда буквы '-IT'
- Одно число 1-9
Так что это реальный пример всех ветвей, которые мы имеем может быть:
releases/VA10A-IT1
releases/VA10A-IT2
releases/VA10A-IT3
releases/VA10A
releases/VA20A-IT1
releases/VA20A-IT2
releases/VA20A
releases/VB10A-IT1
releases/VB10A-IT2
releases/VB10A-IT3
releases/VB10A-IT4
Проблема, с которой я сталкиваюсь, заключается в том, что мне трудно изгибать GitVersion 5.x для работы с такой схемой именования, то есть частью gitversion.yml, относящейся к предварительным версиям (все * -ITX) и выпускает Это выглядит примерно так:
prereleases:
regex: releases/V\D\d\d\D-IT\d$
tag: useBranchName
increment: None
prevent-increment-of-merged-branch-version: true
track-merge-target: false
source-branches:
- master
releases:
regex: releases/V\D\d\d\D$
tag: ''
increment: None
prevent-increment-of-merged-branch-version: true
track-merge-target: false
source-branches:
- master
И GitVersion возвращает это при проверке ветки "Releases / VG10A-IT1":
{
"Major":9,
"Minor":0,
"Patch":0,
"PreReleaseTag":".1",
"PreReleaseTagWithDash":"",
"PreReleaseLabel":"",
"PreReleaseNumber":"",
"WeightedPreReleaseNumber":"",
"BuildMetaData":1492,
"BuildMetaDataPadded":1492,
"FullBuildMetaData":"1492.Branch.releases-VG10A-IT1.Sha.df166b1b7d56cb3a8f8f4546a4530248de604987",
"MajorMinorPatch":"9.0.0",
"SemVer":"9.0.0",
"LegacySemVer":"9.0.0",
"LegacySemVerPadded":"9.0.0",
"AssemblySemVer":"9.0.0.0",
"AssemblySemFileVer":"9.0.0.0",
"FullSemVer":"9.0.0+1492",
"InformationalVersion":"9.0.0+1492.Branch.releases-VG10A-IT1.Sha.df166b1b7d56cb3a8f8f4546a4530248de604987",
"BranchName":"releases/VG10A-IT1",
"Sha":"df166b1b7d56cb3a8f8f4546a4530248de604987",
"ShortSha":"df166b1",
"NuGetVersionV2":"9.0.0",
"NuGetVersion":"9.0.0",
"NuGetPreReleaseTagV2":"",
"NuGetPreReleaseTag":"",
"VersionSourceSha":"94a3b0d8fbfb1f98423b55d50e93a2adb768e636",
"CommitsSinceVersionSource":1492,
"CommitsSinceVersionSourcePadded":1492,
"CommitDate":"2020-02-07"
}
Я бы, однако, ожидал, что PreReleaseTag быть "VG10A-IT1" (или "VG10A.IT1") .. и "NuGetVersionV2": "9.0.0-VG10A-IT1" (или что-то похожее на это), но это не так ... и мне интересно, почему / делает у кого-нибудь есть предложения как правильно его настроить?