@@ -219,24 +219,24 @@ public IEnumerable<BranchCommit> FindCommitBranchesWasBranchedFrom(IBranch branc
219219 }
220220 }
221221
222- public SemanticVersion ? GetCurrentCommitTaggedVersion ( ICommit ? commit , string ? tagPrefix , bool handleDetachedBranch )
222+ public SemanticVersion ? GetCurrentCommitTaggedVersion ( ICommit ? commit , string ? tagPrefix , SemanticVersionFormat versionFormat , bool handleDetachedBranch )
223223 => this . repository . Tags
224- . SelectMany ( t => GetCurrentCommitSemanticVersions ( commit , tagPrefix , t , handleDetachedBranch ) )
224+ . SelectMany ( tag => GetCurrentCommitSemanticVersions ( commit , tagPrefix , tag , versionFormat , handleDetachedBranch ) )
225225 . Max ( ) ;
226226
227- public IEnumerable < SemanticVersion > GetVersionTagsOnBranch ( IBranch branch , string ? tagPrefixRegex )
227+ public IEnumerable < SemanticVersion > GetVersionTagsOnBranch ( IBranch branch , string ? tagPrefixRegex , SemanticVersionFormat versionFormat )
228228 {
229229 branch = branch . NotNull ( ) ;
230230
231- if ( this . semanticVersionTagsOnBranchCache . ContainsKey ( branch ) )
231+ if ( this . semanticVersionTagsOnBranchCache . TryGetValue ( branch , out var onBranch ) )
232232 {
233233 this . log . Debug ( $ "Cache hit for version tags on branch '{ branch . Name . Canonical } ") ;
234- return this . semanticVersionTagsOnBranchCache [ branch ] ;
234+ return onBranch ;
235235 }
236236
237237 using ( this . log . IndentLog ( $ "Getting version tags from branch '{ branch . Name . Canonical } '.") )
238238 {
239- var tags = GetValidVersionTags ( tagPrefixRegex ) ;
239+ var tags = GetValidVersionTags ( tagPrefixRegex , versionFormat ) ;
240240 var tagsBySha = tags . Where ( t => t . Tag . TargetSha != null ) . ToLookup ( t => t . Tag . TargetSha , t => t ) ;
241241
242242 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
246246 }
247247 }
248248
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 )
250250 {
251251 var tags = new List < ( ITag , SemanticVersion , ICommit ) > ( ) ;
252252
253253 foreach ( var tag in this . repository . Tags )
254254 {
255- if ( ! SemanticVersion . TryParse ( tag . Name . Friendly , tagPrefixRegex , out var semver ) )
255+ if ( ! SemanticVersion . TryParse ( tag . Name . Friendly , tagPrefixRegex , out var semver , versionFormat ) )
256256 continue ;
257257
258258 var commit = tag . PeeledTargetCommit ( ) ;
@@ -290,7 +290,7 @@ public bool IsCommitOnBranch(ICommit? baseVersionSource, IBranch branch, ICommit
290290 private static bool IsReleaseBranch ( INamedReference branch , IEnumerable < KeyValuePair < string , BranchConfiguration > > releaseBranchConfig )
291291 => releaseBranchConfig . Any ( c => c . Value ? . Regex != null && Regex . IsMatch ( branch . Name . Friendly , c . Value . Regex ) ) ;
292292
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 )
294294 {
295295 if ( commit == null )
296296 return Array . Empty < SemanticVersion > ( ) ;
@@ -303,7 +303,7 @@ private IEnumerable<SemanticVersion> GetCurrentCommitSemanticVersions(ICommit? c
303303
304304 var tagName = tag . Name . Friendly ;
305305
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 )
307307 ? new [ ] { version }
308308 : Array . Empty < SemanticVersion > ( ) ;
309309 }
0 commit comments