@@ -257,29 +257,6 @@ public IEnumerable<BranchCommit> FindCommitBranchesWasBranchedFrom(IBranch branc
257
257
. SelectMany ( tag => GetCurrentCommitSemanticVersions ( commit , tagPrefix , tag , format , handleDetachedBranch ) )
258
258
. Max ( ) ;
259
259
260
- public IEnumerable < SemanticVersion > GetVersionTagsOnBranch ( IBranch branch , string ? tagPrefix , SemanticVersionFormat format )
261
- {
262
- branch = branch . NotNull ( ) ;
263
-
264
- if ( this . taggedSemanticVersionsOnBranchCache . TryGetValue ( branch , out var onBranch ) )
265
- {
266
- this . log . Debug ( $ "Cache hit for version tags on branch '{ branch . Name . Canonical } ") ;
267
- return onBranch . Select ( element => element . Value ) ;
268
- }
269
-
270
- using ( this . log . IndentLog ( $ "Getting version tags from branch '{ branch . Name . Canonical } '.") )
271
- {
272
- var semanticVersions = GetTaggedSemanticVersions ( tagPrefix , format ) ;
273
- var tagsBySha = semanticVersions . Where ( t => t . Tag . TargetSha != null ) . ToLookup ( t => t . Tag . TargetSha , t => t ) ;
274
-
275
- var versionTags = ( branch . Commits . SelectMany ( c => tagsBySha [ c . Sha ] . Select ( t => t ) )
276
- ?? Enumerable . Empty < SemanticVersionWithTag > ( ) ) . ToList ( ) ;
277
-
278
- this . taggedSemanticVersionsOnBranchCache . Add ( branch , versionTags ) ;
279
- return versionTags . Select ( element => element . Value ) ;
280
- }
281
- }
282
-
283
260
public IReadOnlyList < SemanticVersionWithTag > GetTaggedSemanticVersions ( string ? tagPrefix , SemanticVersionFormat format )
284
261
{
285
262
if ( this . taggedSemanticVersionsCache != null )
@@ -359,93 +336,4 @@ private IEnumerable<SemanticVersion> GetCurrentCommitSemanticVersions(ICommit? c
359
336
? new [ ] { version }
360
337
: Array . Empty < SemanticVersion > ( ) ;
361
338
}
362
-
363
- public IEnumerable < SemanticVersionWithTag > GetSemanticVersions ( IGitVersionConfiguration configuration ,
364
- IBranch currentBranch , ICommit currentCommit , bool trackMergeTarget , bool tracksReleaseBranches )
365
- {
366
- var olderThan = currentCommit ? . When ;
367
-
368
- IEnumerable < SemanticVersionWithTag > GetSemanticVersions ( )
369
- {
370
- var semanticVersions = GetTaggedSemanticVersions (
371
- configuration . TagPrefix , configuration . SemanticVersionFormat
372
- ) . ToList ( ) ;
373
- var semanticVersionsByCommitLazy = new Lazy < ILookup < string , SemanticVersionWithTag > > (
374
- ( ) => semanticVersions . ToLookup ( element => element . Tag . Commit . Id . Sha )
375
- ) ;
376
-
377
- foreach ( var semanticVersion in GetSemanticVersionsCommon ( currentBranch , semanticVersionsByCommitLazy ) )
378
- {
379
- if ( semanticVersion . Tag . Commit . When <= olderThan ) yield return semanticVersion ;
380
- }
381
-
382
- if ( trackMergeTarget )
383
- {
384
- foreach ( var semanticVersion in GetSemanticVersionsTrackMergeTarget ( currentBranch , semanticVersionsByCommitLazy ) )
385
- {
386
- if ( semanticVersion . Tag . Commit . When <= olderThan ) yield return semanticVersion ;
387
- }
388
- }
389
-
390
- if ( tracksReleaseBranches )
391
- {
392
- foreach ( var semanticVersion in GetSemanticVersionsTracksReleaseBranches ( configuration , semanticVersionsByCommitLazy ) )
393
- {
394
- yield return semanticVersion ;
395
- }
396
- }
397
- }
398
-
399
- var alreadyReturnedValues = new HashSet < SemanticVersionWithTag > ( ) ;
400
-
401
- foreach ( var semanticVersion in GetSemanticVersions ( ) )
402
- {
403
- if ( alreadyReturnedValues . Add ( semanticVersion ) )
404
- yield return semanticVersion ;
405
- }
406
- }
407
-
408
- private static IEnumerable < SemanticVersionWithTag > GetSemanticVersionsCommon (
409
- IBranch currentBranch , Lazy < ILookup < string , SemanticVersionWithTag > > semanticVersionsByCommitLazy )
410
- {
411
- foreach ( var commit in currentBranch . Commits )
412
- {
413
- foreach ( var semanticVersion in semanticVersionsByCommitLazy . Value [ commit . Id . Sha ] )
414
- {
415
- yield return semanticVersion ;
416
- }
417
- }
418
- }
419
-
420
- private static IEnumerable < SemanticVersionWithTag > GetSemanticVersionsTrackMergeTarget (
421
- IBranch currentBranch , Lazy < ILookup < string , SemanticVersionWithTag > > semanticVersionsByCommitLazy )
422
- {
423
- var commitsOnCurrentBranch = currentBranch . Commits . ToArray ( ) ;
424
- if ( ! commitsOnCurrentBranch . Any ( ) ) yield break ;
425
-
426
- var shaHashSet = new HashSet < string > ( commitsOnCurrentBranch . Select ( element => element . Id . Sha ) ) ;
427
- foreach ( var semanticVersion in semanticVersionsByCommitLazy . Value . SelectMany ( element => element ) )
428
- {
429
- var parentCommits = semanticVersion . Tag . Commit . Parents ?? Array . Empty < ICommit > ( ) ;
430
- if ( parentCommits . Any ( element => shaHashSet . Contains ( element . Id . Sha ) ) )
431
- {
432
- yield return semanticVersion ;
433
- }
434
- }
435
- }
436
-
437
- private IEnumerable < SemanticVersionWithTag > GetSemanticVersionsTracksReleaseBranches (
438
- IGitVersionConfiguration configuration , Lazy < ILookup < string , SemanticVersionWithTag > > semanticVersionsByCommitLazy )
439
- {
440
- foreach ( var mainBranch in FindMainlineBranches ( configuration ) )
441
- {
442
- foreach ( var commit in mainBranch . Commits ? . ToArray ( ) ?? Array . Empty < ICommit > ( ) )
443
- {
444
- foreach ( var semanticVersion in semanticVersionsByCommitLazy . Value [ commit . Id . Sha ] )
445
- {
446
- yield return semanticVersion ;
447
- }
448
- }
449
- }
450
- }
451
339
}
0 commit comments