static void DoDirectoryConflictsHeader(MergeTreeResult conflicts) { int directoryConflictsCount = MergeTreeResultParser.GetDirectoryConflictsCount(conflicts); int pendingDirectoryConflictsCount = MergeTreeResultParser.GetUnsolvedDirectoryConflictsCount( conflicts); if (directoryConflictsCount == 0) { return; } GUIStyle pendingDirectoryConflictsOfTotalStyle = pendingDirectoryConflictsCount > 0 ? UnityStyles.IncomingChangesTab.RedPendingConflictsOfTotalLabel : UnityStyles.IncomingChangesTab.GreenPendingConflictsOfTotalLabel; GUILayout.Label( string.Format("{0}/{1}", pendingDirectoryConflictsCount, directoryConflictsCount), pendingDirectoryConflictsOfTotalStyle); GUILayout.Label( MergeViewTexts.GetDirectoryConflictsUnsolvedCaption(directoryConflictsCount), UnityStyles.IncomingChangesTab.PendingConflictsLabel); }
static void DoFileConflictsHeader( MergeTreeResult conflicts, MergeSolvedFileConflicts solvedFileConflicts, MountPointWithPath mount) { int fileConflictsCount = MergeTreeResultParser.GetFileConflictsCount(conflicts); int pendingFileConflictsCount = MergeTreeResultParser.GetUnsolvedFileConflictsCount( conflicts, mount.Id, solvedFileConflicts); GUIStyle pendingFileConflictsOfTotalStyle = pendingFileConflictsCount > 0 ? UnityStyles.IncomingChangesTab.RedPendingConflictsOfTotalLabel : UnityStyles.IncomingChangesTab.GreenPendingConflictsOfTotalLabel; GUILayout.Label( string.Format("{0}/{1}", pendingFileConflictsCount, fileConflictsCount), pendingFileConflictsOfTotalStyle); GUILayout.Label( MergeViewTexts.GetFileConflictsCaption(fileConflictsCount, true), UnityStyles.IncomingChangesTab.PendingConflictsLabel); GUILayout.Space(5); GUILayout.Label( MergeViewTexts.GetChangesToApplyCaption( MergeTreeResultParser.GetChangesToApplySummary(conflicts)), UnityStyles.IncomingChangesTab.ChangesToApplySummaryLabel); }
void MergeViewLogic.IMergeView.UpdateData( MergeTreeResult resultConflicts, ExplainMergeData explainMergeData, MergeSolvedFileConflicts solvedFileConflicts, MountPointWithPath rootMountPoint, bool isIncomingMerge, bool isMergeTo, bool isUpdateMerge, bool mergeHasFinished) { HideMessage(); ShowProcessMergesButton(MergeViewTexts.GetProcessMergeButtonText( MergeTreeResultParser.GetFileConflictsCount(resultConflicts) > 0, true)); mResultConflicts = resultConflicts; mSolvedFileConflicts = solvedFileConflicts; mRootMountPoint = rootMountPoint; mConflictResolutionStates.Clear(); UpdateFileConflictsTree( IncomingChangesTree.BuildIncomingChangeCategories( mResultConflicts, this, mRootMountPoint), mIncomingChangesTreeView); }
internal static MergeTreeResult Build1() { MergeTreeResult mergeTreeResult = new MergeTreeResult(); MergeTreeResult firstLevelXlinkMergeTreeResult = new MergeTreeResult(); MergeTreeResult secondLevelXlinkMergeTreeResult = new MergeTreeResult(); ClientWritableXlinkConflict firstLevelXlinkConflict = CreateWritableXlinkConflict(); firstLevelXlinkConflict.XlinkMergeResult = new MergeResult(); firstLevelXlinkConflict.XlinkMergeResult.ResultConflicts = firstLevelXlinkMergeTreeResult; ClientWritableXlinkConflict secondLevelXlinkConflict = CreateWritableXlinkConflict(); secondLevelXlinkConflict.XlinkMergeResult = new MergeResult(); secondLevelXlinkConflict.XlinkMergeResult.ResultConflicts = secondLevelXlinkMergeTreeResult; secondLevelXlinkMergeTreeResult.AddsToApply.Add(CreateFileAddedDifference(10)); secondLevelXlinkMergeTreeResult.FilesModifiedOnSource.Add(CreateModifiedDifference(20)); firstLevelXlinkMergeTreeResult.WritableXlinkConflicts.Add(secondLevelXlinkConflict); firstLevelXlinkMergeTreeResult.AddsToApply.Add(CreateFileAddedDifference(512)); firstLevelXlinkMergeTreeResult.DeletesToApply.Add(CreateDeletedDifference()); mergeTreeResult.WritableXlinkConflicts.Add(firstLevelXlinkConflict); mergeTreeResult.AddsToApply.Add(CreateFileAddedDifference(1024)); return(mergeTreeResult); }
public void TestDirectoryConflictWithMeta() { MergeTreeResult conflicts = new MergeTreeResult(); MountPointWithPath rootMountPointWithPath = BuildRootMountPointWithPath(); DirectoryConflict directoryConflict = BuildMergeTreeResult.CreateEvilTwinConflict("/foo/bar.c"); DirectoryConflict directoryConflictMeta = BuildMergeTreeResult.CreateEvilTwinConflict("/foo/bar.c.meta"); conflicts.EvilTwins.Add(directoryConflict); conflicts.EvilTwins.Add(directoryConflictMeta); UnityIncomingChangesTree tree = UnityIncomingChangesTree.BuildIncomingChangeCategories( IncomingChangesTree.BuildIncomingChangeCategories( conflicts, new GetConflictResolutionMock(), rootMountPointWithPath)); IncomingChangeInfo conflictChangeInfo = FindChangeInfo.FromDirectoryConflict( directoryConflict, tree); Assert.IsNotNull( conflictChangeInfo, "ChangeInfo not found"); Assert.IsNotNull( tree.GetMetaChange(conflictChangeInfo), "Meta change should not be null"); }
public void TestChangedNoMeta() { MergeTreeResult conflicts = new MergeTreeResult(); MountPointWithPath rootMountPointWithPath = BuildRootMountPointWithPath(); FileConflict fileConflict = BuildMergeTreeResult.CreateModifiedDifference("/foo/bar.c"); conflicts.FilesModifiedOnSource.Add(fileConflict); UnityIncomingChangesTree tree = UnityIncomingChangesTree.BuildIncomingChangeCategories( IncomingChangesTree.BuildIncomingChangeCategories( conflicts, new GetConflictResolutionMock(), rootMountPointWithPath)); IncomingChangeInfo changeInfo = FindChangeInfo.FromFileConflict( fileConflict, tree); Assert.IsNotNull( changeInfo, "ChangeInfo not found"); Assert.IsNull( tree.GetMetaChange(changeInfo), "Meta change should be null"); }
public void TestOnlyMeta() { MergeTreeResult conflicts = new MergeTreeResult(); MountPointWithPath rootMountPointWithPath = BuildRootMountPointWithPath(); FileConflict fileConflictMeta = BuildMergeTreeResult.CreateFileConflict("/foo/bar.c.meta"); conflicts.FileConflicts.Add(fileConflictMeta); UnityIncomingChangesTree tree = UnityIncomingChangesTree.BuildIncomingChangeCategories( IncomingChangesTree.BuildIncomingChangeCategories( conflicts, new GetConflictResolutionMock(), rootMountPointWithPath)); IncomingChangeInfo conflictMetaChangeInfo = FindChangeInfo.FromFileConflict( fileConflictMeta, tree); Assert.IsNotNull( conflictMetaChangeInfo, "ChangeInfo not found"); Assert.IsNull( tree.GetMetaChange(conflictMetaChangeInfo), "Meta change should be null"); }
public void TestDeletedWithMeta() { MergeTreeResult conflicts = new MergeTreeResult(); MountPointWithPath rootMountPointWithPath = BuildRootMountPointWithPath(); Difference difference = BuildMergeTreeResult.CreateFileAddedDifference("/foo/bar.c"); Difference differenceMeta = BuildMergeTreeResult.CreateFileAddedDifference("/foo/bar.c.meta"); conflicts.DeletesToApply.Add(difference); conflicts.DeletesToApply.Add(differenceMeta); UnityIncomingChangesTree tree = UnityIncomingChangesTree.BuildIncomingChangeCategories( IncomingChangesTree.BuildIncomingChangeCategories( conflicts, new GetConflictResolutionMock(), rootMountPointWithPath)); IncomingChangeInfo addedChangeInfo = FindChangeInfo.FromDifference( difference, tree); Assert.IsNotNull( addedChangeInfo, "ChangeInfo not found"); Assert.IsNotNull( tree.GetMetaChange(addedChangeInfo), "Meta change should not be null"); }
public void TestMovedNoMeta() { MergeTreeResult conflicts = new MergeTreeResult(); MountPointWithPath rootMountPointWithPath = BuildRootMountPointWithPath(); Difference difference = BuildMergeTreeResult.CreateMovedDifference("/foo/bar.c", "/foo/var.c"); conflicts.MovesToApply.Add(difference); UnityIncomingChangesTree tree = UnityIncomingChangesTree.BuildIncomingChangeCategories( MergeChangesTree.BuildForIncomingChangesView( conflicts, new GetConflictResolutionMock(), rootMountPointWithPath)); MergeChangeInfo changeInfo = FindChangeInfo.FromDifference( difference, tree); Assert.IsNotNull( changeInfo, "ChangeInfo not found"); Assert.IsNull( tree.GetMetaChange(changeInfo), "Meta change should be null"); }
public void TestChangedMovedWithMeta() { MergeTreeResult conflicts = new MergeTreeResult(); MountPointWithPath rootMountPointWithPath = BuildRootMountPointWithPath(); FileConflict fileConflict = BuildMergeTreeResult.CreateFileConflict("/foo/var.c"); FileConflict fileConflictMeta = BuildMergeTreeResult.CreateFileConflict("/foo/var.c.meta"); Difference difference = BuildMergeTreeResult.CreateMovedDifference("/foo/bar.c", "/foo/var.c"); Difference differenceMeta = BuildMergeTreeResult.CreateMovedDifference("/foo/bar.c.meta", "/foo/var.c.meta"); conflicts.FilesModifiedOnSource.Add(fileConflict); conflicts.FilesModifiedOnSource.Add(fileConflictMeta); conflicts.MovesToApply.Add(difference); conflicts.MovesToApply.Add(differenceMeta); UnityIncomingChangesTree tree = UnityIncomingChangesTree.BuildIncomingChangeCategories( IncomingChangesTree.BuildIncomingChangeCategories( conflicts, new GetConflictResolutionMock(), rootMountPointWithPath)); IncomingChangeInfo fileChangeInfo = FindChangeInfo.FromFileConflict( fileConflict, tree); IncomingChangeInfo differenceChangeInfo = FindChangeInfo.FromDifference( difference, tree); Assert.IsNotNull( fileChangeInfo, "FileConflict not found"); Assert.IsNotNull( differenceChangeInfo, "Difference not found"); Assert.IsNotNull( tree.GetMetaChange(fileChangeInfo), "Meta change for file conflict not should be null"); Assert.IsNotNull( tree.GetMetaChange(differenceChangeInfo), "Meta change for difference not should be null"); }
static void DoFileConflictsArea( IncomingChangesTreeView incomingChangesTreeView, MergeTreeResult conflicts, MergeSolvedFileConflicts solvedConflicts, MountPointWithPath mount, bool isOperationRunning) { DoConflictsHeader( conflicts, solvedConflicts, mount); DoConflictsTree( incomingChangesTreeView, isOperationRunning); }
internal static MergeTreeResult Build0() { MergeTreeResult mergeTreeResult = new MergeTreeResult(); mergeTreeResult.AddsToApply.Add(CreateDirectoryAddedDifference()); mergeTreeResult.AddsToApply.Add(CreateFileAddedDifference(1024)); mergeTreeResult.AddsToApply.Add(CreateFileAddedDifference(512)); mergeTreeResult.MovesToApply.Add(CreateMovedDifference()); mergeTreeResult.MovesToApply.Add(CreateMovedDifference()); mergeTreeResult.DeletesToApply.Add(CreateDeletedDifference()); mergeTreeResult.FilesModifiedOnSource.Add(CreateModifiedDifference(312)); mergeTreeResult.FilesModifiedOnSource.Add(CreateModifiedDifference(10)); return(mergeTreeResult); }
static void DoConflictsHeader( MergeTreeResult conflicts, MergeSolvedFileConflicts solvedFileConflicts, MountPointWithPath mount) { if (conflicts == null || mount == null) { return; } EditorGUILayout.BeginHorizontal(); DoDirectoryConflictsHeader(conflicts); DoFileConflictsHeader( conflicts, solvedFileConflicts, mount); GUILayout.FlexibleSpace(); EditorGUILayout.EndHorizontal(); }
void UpdateOverview( MergeTreeResult resultConflicts, MergeSolvedFileConflicts solvedFileConflicts, MountPointWithPath rootMountPoint) { if (resultConflicts == null || rootMountPoint == null) { mChangesSummary = new MergeViewTexts.ChangesToApplySummary(); mFileConflictCount = 0; mDirectoryConflictCount = 0; return; } mChangesSummary = MergeTreeResultParser. GetChangesToApplySummary(resultConflicts); mFileConflictCount = MergeTreeResultParser.GetUnsolvedFileConflictsCount( resultConflicts, rootMountPoint.Id, solvedFileConflicts); mDirectoryConflictCount = MergeTreeResultParser.GetUnsolvedDirectoryConflictsCount( resultConflicts); }
public void TestChangedWithDeletedMeta() { MergeTreeResult conflicts = new MergeTreeResult(); MountPointWithPath rootMountPointWithPath = BuildRootMountPointWithPath(); FileConflict modified = BuildMergeTreeResult.CreateModifiedDifference("/foo/bar.c"); Difference deletedMeta = BuildMergeTreeResult.CreateDeletedDifference("/foo/bar.c.meta"); conflicts.FilesModifiedOnSource.Add(modified); conflicts.DeletesToApply.Add(deletedMeta); UnityIncomingChangesTree tree = UnityIncomingChangesTree.BuildIncomingChangeCategories( MergeChangesTree.BuildForIncomingChangesView( conflicts, new GetConflictResolutionMock(), rootMountPointWithPath)); MergeChangeInfo changeInfo = FindChangeInfo.FromFileConflict( modified, tree); MergeChangeInfo deleteInfo = FindChangeInfo.FromDifference( deletedMeta, tree); Assert.IsNotNull( changeInfo, "ChangeInfo not found"); Assert.IsNotNull( deleteInfo, "DeleteInfo not found"); Assert.IsNull( tree.GetMetaChange(changeInfo), "Meta change should be null"); }