@@ -219,24 +219,24 @@ public IEnumerable<BranchCommit> FindCommitBranchesWasBranchedFrom(IBranch branc
219
219
}
220
220
}
221
221
222
- public SemanticVersion ? GetCurrentCommitTaggedVersion ( ICommit ? commit , string ? tagPrefix , bool handleDetachedBranch )
222
+ public SemanticVersion ? GetCurrentCommitTaggedVersion ( ICommit ? commit , string ? tagPrefix , SemanticVersionFormat versionFormat , bool handleDetachedBranch )
223
223
=> this . repository . Tags
224
- . SelectMany ( t => GetCurrentCommitSemanticVersions ( commit , tagPrefix , t , handleDetachedBranch ) )
224
+ . SelectMany ( tag => GetCurrentCommitSemanticVersions ( commit , tagPrefix , tag , versionFormat , handleDetachedBranch ) )
225
225
. Max ( ) ;
226
226
227
- public IEnumerable < SemanticVersion > GetVersionTagsOnBranch ( IBranch branch , string ? tagPrefixRegex )
227
+ public IEnumerable < SemanticVersion > GetVersionTagsOnBranch ( IBranch branch , string ? tagPrefixRegex , SemanticVersionFormat versionFormat )
228
228
{
229
229
branch = branch . NotNull ( ) ;
230
230
231
- if ( this . semanticVersionTagsOnBranchCache . ContainsKey ( branch ) )
231
+ if ( this . semanticVersionTagsOnBranchCache . TryGetValue ( branch , out var onBranch ) )
232
232
{
233
233
this . log . Debug ( $ "Cache hit for version tags on branch '{ branch . Name . Canonical } ") ;
234
- return this . semanticVersionTagsOnBranchCache [ branch ] ;
234
+ return onBranch ;
235
235
}
236
236
237
237
using ( this . log . IndentLog ( $ "Getting version tags from branch '{ branch . Name . Canonical } '.") )
238
238
{
239
- var tags = GetValidVersionTags ( tagPrefixRegex ) ;
239
+ var tags = GetValidVersionTags ( tagPrefixRegex , versionFormat ) ;
240
240
var tagsBySha = tags . Where ( t => t . Tag . TargetSha != null ) . ToLookup ( t => t . Tag . TargetSha , t => t ) ;
241
241
242
242
var versionTags = ( branch . Commits ? . SelectMany ( c => tagsBySha [ c . Sha ] . Select ( t => t . Semver ) ) ?? Enumerable . Empty < SemanticVersion > ( ) ) . ToList ( ) ;
@@ -246,13 +246,13 @@ public IEnumerable<SemanticVersion> GetVersionTagsOnBranch(IBranch branch, strin
246
246
}
247
247
}
248
248
249
- public IEnumerable < ( ITag Tag , SemanticVersion Semver , ICommit Commit ) > GetValidVersionTags ( string ? tagPrefixRegex , DateTimeOffset ? olderThan = null )
249
+ public IEnumerable < ( ITag Tag , SemanticVersion Semver , ICommit Commit ) > GetValidVersionTags ( string ? tagPrefixRegex , SemanticVersionFormat versionFormat , DateTimeOffset ? olderThan = null )
250
250
{
251
251
var tags = new List < ( ITag , SemanticVersion , ICommit ) > ( ) ;
252
252
253
253
foreach ( var tag in this . repository . Tags )
254
254
{
255
- if ( ! SemanticVersion . TryParse ( tag . Name . Friendly , tagPrefixRegex , out var semver ) )
255
+ if ( ! SemanticVersion . TryParse ( tag . Name . Friendly , tagPrefixRegex , out var semver , versionFormat ) )
256
256
continue ;
257
257
258
258
var commit = tag . PeeledTargetCommit ( ) ;
@@ -290,7 +290,7 @@ public bool IsCommitOnBranch(ICommit? baseVersionSource, IBranch branch, ICommit
290
290
private static bool IsReleaseBranch ( INamedReference branch , IEnumerable < KeyValuePair < string , BranchConfiguration > > releaseBranchConfig )
291
291
=> releaseBranchConfig . Any ( c => c . Value ? . Regex != null && Regex . IsMatch ( branch . Name . Friendly , c . Value . Regex ) ) ;
292
292
293
- private IEnumerable < SemanticVersion > GetCurrentCommitSemanticVersions ( ICommit ? commit , string ? tagPrefix , ITag tag , bool handleDetachedBranch )
293
+ private IEnumerable < SemanticVersion > GetCurrentCommitSemanticVersions ( ICommit ? commit , string ? tagPrefix , ITag tag , SemanticVersionFormat versionFormat , bool handleDetachedBranch )
294
294
{
295
295
if ( commit == null )
296
296
return Array . Empty < SemanticVersion > ( ) ;
@@ -303,7 +303,7 @@ private IEnumerable<SemanticVersion> GetCurrentCommitSemanticVersions(ICommit? c
303
303
304
304
var tagName = tag . Name . Friendly ;
305
305
306
- return Equals ( targetCommit , commitToCompare ) && SemanticVersion . TryParse ( tagName , tagPrefix , out var version )
306
+ return Equals ( targetCommit , commitToCompare ) && SemanticVersion . TryParse ( tagName , tagPrefix , out var version , versionFormat )
307
307
? new [ ] { version }
308
308
: Array . Empty < SemanticVersion > ( ) ;
309
309
}
0 commit comments