void UpdateFileConflictsTree( IncomingChangesTree incomingChangesTree, IncomingChangesTreeView incomingChangesTreeView) { UnityIncomingChangesTree unityIncomingChangesTree = null; IThreadWaiter waiter = ThreadWaiter.GetWaiter(10); waiter.Execute( /*threadOperationDelegate*/ delegate { unityIncomingChangesTree = UnityIncomingChangesTree.BuildIncomingChangeCategories( incomingChangesTree); incomingChangesTree.ResolveUserNames( new IncomingChangesTree.ResolveUserName()); }, /*afterOperationDelegate*/ delegate { incomingChangesTreeView.BuildModel(unityIncomingChangesTree); incomingChangesTreeView.Sort(); incomingChangesTreeView.Reload(); incomingChangesTreeView.SelectFirstUnsolvedDirectoryConflict(); }); }
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"); }
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); }
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 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 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"); }
UnityIncomingChangesTree( IncomingChangesTree tree) { mInnerTree = tree; mMetaCache.Build(mInnerTree.GetNodes()); }
public void TestConflictNoMeta() { MountPointWithPath rootMountPointWithPath = BuildRootMountPointWithPath(); GluonFileConflict fileConflict = Build.FileConflict( rootMountPointWithPath, "/foo/bar.c"); CheckedStateManager checkedStateManager = new CheckedStateManager(); List <OutOfDateItemsByMount> outOfDateItemsByMount = new List <OutOfDateItemsByMount>(); List <GluonFileConflict> fileConflicts = new List <GluonFileConflict>(); fileConflicts.Add(fileConflict); IncomingChangesTree innerTree = IncomingChangesTree.BuildIncomingChangeCategories( checkedStateManager, outOfDateItemsByMount, fileConflicts); UnityIncomingChangesTree tree = UnityIncomingChangesTree.BuildIncomingChangeCategories(innerTree); IncomingChangeInfo conflictChangeInfo = FindChangeInfo.FromFileConflict( fileConflict, tree); Assert.IsNotNull( conflictChangeInfo, "ChangeInfo not found"); Assert.IsNull( tree.GetMetaChange(conflictChangeInfo), "Meta change should be null"); }
static void UpdateIncomingChangesTree( IncomingChangesTreeView incomingChangesTreeView, IncomingChangesTree tree) { incomingChangesTreeView.BuildModel( UnityIncomingChangesTree.BuildIncomingChangeCategories(tree)); incomingChangesTreeView.Sort(); incomingChangesTreeView.Reload(); }
void UpdateOverview( IncomingChangesTree incomingChangesTree, PendingConflictsLabelData conflictsLabelData) { mChangesSummary = BuildFilesSummaryData. GetChangesToApplySummary(incomingChangesTree); mFileConflictCount = conflictsLabelData.PendingConflictsCount; }
public void TestChangedWithDeletedMeta() { MountPointWithPath rootMountPointWithPath = BuildRootMountPointWithPath(); Difference changed = Build.ChangedDifference( "/foo/bar.c"); Difference deletedMeta = Build.DeletedDifference( "/foo/bar.c.meta"); OutOfDateItemsByMount outOfDateItems = new OutOfDateItemsByMount() { Mount = rootMountPointWithPath }; outOfDateItems.Changed.Add(changed); outOfDateItems.Deleted.Add(deletedMeta); CheckedStateManager checkedStateManager = new CheckedStateManager(); List <OutOfDateItemsByMount> outOfDateItemsByMount = new List <OutOfDateItemsByMount>(); List <GluonFileConflict> fileConflicts = new List <GluonFileConflict>(); outOfDateItemsByMount.Add(outOfDateItems); IncomingChangesTree innerTree = IncomingChangesTree.BuildIncomingChangeCategories( checkedStateManager, outOfDateItemsByMount, fileConflicts); UnityIncomingChangesTree tree = UnityIncomingChangesTree.BuildIncomingChangeCategories(innerTree); IncomingChangeInfo changeInfo = FindChangeInfo.FromDifference( changed, tree); IncomingChangeInfo 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"); }
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"); }
void IncomingChangesViewLogic.IIncomingChangesView.UpdateData( IncomingChangesTree tree, List <ErrorMessage> errorMessages, string processMergesButtonText, PendingConflictsLabelData conflictsLabelData, string changesToApplySummaryText) { ShowProcessMergesButton(processMergesButtonText); ((IncomingChangesViewLogic.IIncomingChangesView) this). UpdatePendingConflictsLabel(conflictsLabelData); mChangesToApplySummaryLabelText = changesToApplySummaryText; UpdateIncomingChangesTree(mIncomingChangesTreeView, tree); UpdateErrorsList(mErrorsListView, errorMessages); mIsErrorsListVisible = errorMessages.Count > 0; }
internal static UnityIncomingChangesTree BuildIncomingChangeCategories( IncomingChangesTree tree) { return(new UnityIncomingChangesTree(tree)); }