private SemanticVersion IncrementForEachCommit(IEnumerable <ICommit> directCommits, SemanticVersion mainlineVersion, IBranch mainline) { foreach (var directCommit in directCommits) { var directCommitIncrement = IncrementStrategyFinder.GetIncrementForCommits(context, new[] { directCommit }) ?? FindDefaultIncrementForBranch(context, mainline.Name.Friendly); mainlineVersion = mainlineVersion.IncrementVersion(directCommitIncrement); log.Info($"Direct commit on master {directCommit} incremented base versions {directCommitIncrement}, now {mainlineVersion}"); } return(mainlineVersion); }
private static SemanticVersion IncrementForEachCommit(GitVersionContext context, List <Commit> directCommits, SemanticVersion mainlineVersion, Branch mainline) { foreach (var directCommit in directCommits) { var directCommitIncrement = IncrementStrategyFinder.GetIncrementForCommits(context, new[] { directCommit }) ?? IncrementStrategyFinder.FindDefaultIncrementForBranch(context, mainline.FriendlyName); mainlineVersion = mainlineVersion.IncrementVersion(directCommitIncrement); Logger.WriteInfo($"Direct commit on master {directCommit.Sha} incremented base versions {directCommitIncrement}, now {mainlineVersion}"); } return(mainlineVersion); }
private static SemanticVersion IncrementForEachCommit(GitVersionContext context, List <Commit> directCommits, SemanticVersion mainlineVersion, string branch = null) { foreach (var directCommit in directCommits) { var directCommitIncrement = IncrementStrategyFinder.GetIncrementForCommits(context, new[] { directCommit }) ?? IncrementStrategyFinder.FindDefaultIncrementForBranch(context, branch); mainlineVersion = mainlineVersion.IncrementVersion(directCommitIncrement); Logger.WriteInfo(string.Format("Direct commit on master {0} incremented base versions {1}, now {2}", directCommit.Sha, directCommitIncrement, mainlineVersion)); } return(mainlineVersion); }
private SemanticVersion AggregateMergeCommitIncrement(Commit commit, List <Commit> directCommits, SemanticVersion mainlineVersion, Branch mainline) { // Merge commit, process all merged commits as a batch var mergeCommit = commit; var mergedHead = GetMergedHead(mergeCommit); var findMergeBase = repositoryMetadataProvider.FindMergeBase(mergeCommit.Parents.First(), mergedHead); var findMessageIncrement = FindMessageIncrement(mergeCommit, mergedHead, findMergeBase, directCommits); // If this collection is not empty there has been some direct commits against master // Treat each commit as it's own 'release', we need to do this before we increment the branch mainlineVersion = IncrementForEachCommit(directCommits, mainlineVersion, mainline); directCommits.Clear(); // Finally increment for the branch mainlineVersion = mainlineVersion.IncrementVersion(findMessageIncrement); log.Info($"Merge commit {mergeCommit.Sha} incremented base versions {findMessageIncrement}, now {mainlineVersion}"); return(mainlineVersion); }
SemanticVersion AggregateMergeCommitIncrement(GitVersionContext context, Commit commit, List <Commit> directCommits, SemanticVersion mainlineVersion) { // Merge commit, process all merged commits as a batch var mergeCommit = commit; var mergedHead = GetMergedHead(mergeCommit); var findMergeBase = context.Repository.ObjectDatabase.FindMergeBase(mergeCommit.Parents.First(), mergedHead); var findMessageIncrement = FindMessageIncrement(context, mergeCommit, mergedHead, findMergeBase, directCommits); // If this collection is not empty there has been some direct commits against master // Treat each commit as it's own 'release', we need to do this before we increment the branch mainlineVersion = IncrementForEachCommit(context, directCommits, mainlineVersion); directCommits.Clear(); // Finally increment for the branch mainlineVersion = mainlineVersion.IncrementVersion(findMessageIncrement); Logger.WriteInfo(string.Format("Merge commit {0} incremented base versions {1}, now {2}", mergeCommit.Sha, findMessageIncrement, mainlineVersion)); return(mainlineVersion); }
private static SemanticVersion IncrementForEachCommit(GitVersionContext context, List<Commit> directCommits, SemanticVersion mainlineVersion) { foreach (var directCommit in directCommits) { var directCommitIncrement = IncrementStrategyFinder.GetIncrementForCommits(context, new[] { directCommit }) ?? VersionField.Patch; mainlineVersion = mainlineVersion.IncrementVersion(directCommitIncrement); Logger.WriteInfo(string.Format("Direct commit on master {0} incremented base versions {1}, now {2}", directCommit.Sha, directCommitIncrement, mainlineVersion)); } return mainlineVersion; }
SemanticVersion AggregateMergeCommitIncrement(GitVersionContext context, Commit commit, List<Commit> directCommits, SemanticVersion mainlineVersion) { // Merge commit, process all merged commits as a batch var mergeCommit = commit; var mergedHead = GetMergedHead(mergeCommit); var findMergeBase = context.Repository.ObjectDatabase.FindMergeBase(mergeCommit.Parents.First(), mergedHead); var findMessageIncrement = FindMessageIncrement(context, mergeCommit, mergedHead, findMergeBase, directCommits); // If this collection is not empty there has been some direct commits against master // Treat each commit as it's own 'release', we need to do this before we increment the branch mainlineVersion = IncrementForEachCommit(context, directCommits, mainlineVersion); directCommits.Clear(); // Finally increment for the branch mainlineVersion = mainlineVersion.IncrementVersion(findMessageIncrement); Logger.WriteInfo(string.Format("Merge commit {0} incremented base versions {1}, now {2}", mergeCommit.Sha, findMessageIncrement, mainlineVersion)); return mainlineVersion; }