void UpdateFileConflictsTree( MergeChangesTree incomingChangesTree, IncomingChangesTreeView incomingChangesTreeView) { UnityIncomingChangesTree unityIncomingChangesTree = null; IThreadWaiter waiter = ThreadWaiter.GetWaiter(10); waiter.Execute( /*threadOperationDelegate*/ delegate { unityIncomingChangesTree = UnityIncomingChangesTree.BuildIncomingChangeCategories( incomingChangesTree); incomingChangesTree.ResolveUserNames( new MergeChangesTree.ResolveUserName()); }, /*afterOperationDelegate*/ delegate { incomingChangesTreeView.BuildModel(unityIncomingChangesTree); incomingChangesTreeView.Sort(); incomingChangesTreeView.Reload(); incomingChangesTreeView.SelectFirstUnsolvedDirectoryConflict(); }); }
UnityIncomingChangesTree( MergeChangesTree tree) { mInnerTree = tree; mMetaCache.Build(mInnerTree.GetNodes()); }
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( MergeChangesTree.BuildForIncomingChangesView( mResultConflicts, this, mRootMountPoint), mIncomingChangesTreeView); UpdateChangesOverview(); }
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( MergeChangesTree.BuildForIncomingChangesView( conflicts, new GetConflictResolutionMock(), rootMountPointWithPath)); MergeChangeInfo changeInfo = FindChangeInfo.FromFileConflict( fileConflict, tree); Assert.IsNotNull( changeInfo, "ChangeInfo not found"); Assert.IsNull( tree.GetMetaChange(changeInfo), "Meta change should be null"); }
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( MergeChangesTree.BuildForIncomingChangesView( conflicts, new GetConflictResolutionMock(), rootMountPointWithPath)); MergeChangeInfo conflictChangeInfo = FindChangeInfo.FromDirectoryConflict( directoryConflict, tree); Assert.IsNotNull( conflictChangeInfo, "ChangeInfo not found"); Assert.IsNotNull( tree.GetMetaChange(conflictChangeInfo), "Meta change should not 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( MergeChangesTree.BuildForIncomingChangesView( conflicts, new GetConflictResolutionMock(), rootMountPointWithPath)); MergeChangeInfo addedChangeInfo = FindChangeInfo.FromDifference( difference, tree); Assert.IsNotNull( addedChangeInfo, "ChangeInfo not found"); Assert.IsNotNull( tree.GetMetaChange(addedChangeInfo), "Meta change should not 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( MergeChangesTree.BuildForIncomingChangesView( conflicts, new GetConflictResolutionMock(), rootMountPointWithPath)); MergeChangeInfo fileChangeInfo = FindChangeInfo.FromFileConflict( fileConflict, tree); MergeChangeInfo 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"); }
internal static UnityIncomingChangesTree BuildIncomingChangeCategories( MergeChangesTree tree) { return(new UnityIncomingChangesTree(tree)); }