IsCurrent.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using Codice.Client.BaseCommands.Merge;
  2. using PlasticGui.WorkspaceWindow.Merge;
  3. namespace Unity.PlasticSCM.Editor.Views.IncomingChanges.Developer
  4. {
  5. // internal for testing purpuses
  6. internal static class IsCurrent
  7. {
  8. internal static bool Conflict(
  9. MergeChangeInfo changeInfo,
  10. MergeChangeInfo metaChangeInfo,
  11. MergeSolvedFileConflicts solvedFileConflicts)
  12. {
  13. if (solvedFileConflicts == null)
  14. return false;
  15. MergeSolvedFileConflicts.CurrentConflict currentConflict;
  16. if (!solvedFileConflicts.TryGetCurrentConflict(out currentConflict))
  17. return false;
  18. return IsSameConflict(currentConflict, changeInfo) ||
  19. IsSameConflict(currentConflict, metaChangeInfo);
  20. }
  21. static bool IsSameConflict(
  22. MergeSolvedFileConflicts.CurrentConflict currentConflict,
  23. MergeChangeInfo changeInfo)
  24. {
  25. if (changeInfo == null)
  26. return false;
  27. return currentConflict.MountId.Equals(changeInfo.GetMount().Id)
  28. && currentConflict.ItemId == changeInfo.GetRevision().ItemId;
  29. }
  30. }
  31. }