public ComparerResult Compare(Branch mainBranch, Branch refBranch) { var allCommitsMatch = true; var result = new ComparerResult(); result.MainBranch = mainBranch; result.RefBranch = refBranch; foreach (var mainCommit in mainBranch.Commits) { if (!refBranch.Commits.Select(c => c.Id).Contains(mainCommit.Id)) { var potentialByMsg = refBranch.Commits.Where(c => c.Message == mainCommit.Message); var potentialByName = potentialByMsg.Where(c => c.Name == mainCommit.Name); var potentialByFiles = potentialByName.Where(c => c.Files == mainCommit.Files); if (!potentialByFiles.Any()) { allCommitsMatch = false; break; } } } if (allCommitsMatch) { result.Status = ResultStatus.Yes; } else { result.Status = ResultStatus.No; } return(result); }
public ComparerResult Compare(Branch mainBranch, Branch refBranch) { var containsAllIds = true; var result = new ComparerResult(); result.MainBranch = mainBranch; result.RefBranch = refBranch; foreach (var mainCommit in mainBranch.Commits.Select(c => c.Id)) { if (!refBranch.Commits.Select(c => c.Id).Contains(mainCommit)) { containsAllIds = false; break; } } if (containsAllIds) { result.Status = ResultStatus.Yes; } else { result.Status = ResultStatus.Unknown; } return(result); }
public ComparerResult Compare(Branch mainBranch, Branch refBranch) { var allCommitsMatch = true; var result = new ComparerResult(); result.MainBranch = mainBranch; result.RefBranch = refBranch; foreach (var mainCommit in mainBranch.Commits) { if (!refBranch.Commits.Select(c => c.Id).Contains(mainCommit.Id)) { var potentialByMsg = refBranch.Commits.Where(c => c.Message == mainCommit.Message); var potentialByName = potentialByMsg.Where(c => c.Name == mainCommit.Name); var potentialByFiles = potentialByName.Where(c => c.Files == mainCommit.Files); if (!potentialByFiles.Any()) { allCommitsMatch = false; break; } } } if (allCommitsMatch) { result.Status = ResultStatus.Yes; } else { result.Status = ResultStatus.No; } return result; }
public ComparerResult Compare(Branch mainBranch, Branch refBranch) { var mainCommits = mainBranch.Commits.Count(); var refCommits = refBranch.Commits.Count(); var result = new ComparerResult(); result.MainBranch = mainBranch; result.RefBranch = refBranch; // If there are no commits on the main branch, then the main branch // should be deleted if (mainCommits == 0) { result.Status = ResultStatus.Yes; } // If the main branch contains more commits than the reference branch, // then the main branch should not be deleted else if (mainCommits > refCommits) { result.Status = ResultStatus.No; } // If the main branch contains the same number of commits/fewer commits than // the reference branch, then we cannot deduce whether the main branch should // be deleted else { result.Status = ResultStatus.Unknown; } return(result); }
public ComparerResult Compare(Branch mainBranch, Branch refBranch) { var result = new ComparerResult { MainBranch = mainBranch, RefBranch = refBranch }; if (mainBranch.Name == refBranch.Name) { result.Status = ResultStatus.No; } else { foreach (var comparer in _comparers) { result = comparer.Compare(mainBranch, refBranch); if (result.Status == ResultStatus.Yes || result.Status == ResultStatus.No) { break; } } } Log.Information("Branches compared: " + mainBranch.Name + " + " + refBranch.Name + ", Result: " + result.Status + "."); return(result); }
public ComparerResult Compare(Branch mainBranch, Branch refBranch) { var containsAllIds = true; var result = new ComparerResult(); result.MainBranch = mainBranch; result.RefBranch = refBranch; foreach (var mainCommit in mainBranch.Commits.Select(c => c.Id)) { if (!refBranch.Commits.Select(c => c.Id).Contains(mainCommit)) { containsAllIds = false; break; } } if (containsAllIds) { result.Status = ResultStatus.Yes; } else { result.Status = ResultStatus.Unknown; } return result; }
public ComparerResult Compare(Branch mainBranch, Branch refBranch) { var result = new ComparerResult { MainBranch = mainBranch, RefBranch = refBranch }; if (mainBranch.Name == refBranch.Name) { result.Status = ResultStatus.No; } else { foreach (var comparer in _comparers) { result = comparer.Compare(mainBranch, refBranch); if (result.Status == ResultStatus.Yes || result.Status == ResultStatus.No) { break; } } } Log.Information("Branches compared: " + mainBranch.Name + " + " + refBranch.Name + ", Result: " + result.Status + "."); return result; }
public ComparerResult Compare(Branch mainBranch, Branch refBranch) { var mainCommits = mainBranch.Commits.Count(); var refCommits = refBranch.Commits.Count(); var result = new ComparerResult(); result.MainBranch = mainBranch; result.RefBranch = refBranch; // If there are no commits on the main branch, then the main branch // should be deleted if (mainCommits == 0) { result.Status = ResultStatus.Yes; } // If the main branch contains more commits than the reference branch, // then the main branch should not be deleted else if (mainCommits > refCommits) { result.Status = ResultStatus.No; } // If the main branch contains the same number of commits/fewer commits than // the reference branch, then we cannot deduce whether the main branch should // be deleted else { result.Status = ResultStatus.Unknown; } return result; }
/* * Compares a main branch against all branches in a list of branches. */ public ComparerResult CheckBranch(Branch mainBranch, List<Branch> branches) { var result = new ComparerResult(); foreach (var refBranch in branches) { result = _branchComparer.Compare(mainBranch, refBranch); if (result.Status == ResultStatus.Yes) { break; } } return result; }
/* * Compares a main branch against all branches in a list of branches. */ public ComparerResult CheckBranch(Branch mainBranch, List <Branch> branches) { var result = new ComparerResult(); foreach (var refBranch in branches) { result = _branchComparer.Compare(mainBranch, refBranch); if (result.Status == ResultStatus.Yes) { break; } } return(result); }