public static bool CommitChanges(SourceControlBase SourceControl, ICollection <string> pathsToCommit, string Comments, bool includeLocks, ref bool conflictHandled) { string error = string.Empty; bool result = true; bool conflict = conflictHandled; List <string> conflictsPaths = new List <string>(); if (!SourceControl.CommitChanges(pathsToCommit, Comments, ref error, ref conflictsPaths, includeLocks)) { App.MainWindow.Dispatcher.Invoke(() => { foreach (string cPath in conflictsPaths) { ResolveConflictPage resConfPage = new ResolveConflictPage(cPath); if (WorkSpace.RunningInExecutionMode == true) { SourceControlIntegration.ResolveConflicts(WorkSpace.UserProfile.Solution.SourceControl, cPath, eResolveConflictsSide.Server); } else { resConfPage.ShowAsWindow(); } result = resConfPage.IsResolved; conflict = true; conflictFlag = conflict; } if (SourceControl.GetSourceControlmConflict != null) { SourceControl.GetSourceControlmConflict.Clear(); } }); if (!conflict) { if (error.Contains("too many redirects or authentication replays")) { error = "Commit failed because of wrong credentials error, please enter valid Username and Password and try again"; } if (error.Contains("is locked in another working copy")) { error = "This file has been locked by other user. Please remove lock and then try to Check in."; } App.MainWindow.Dispatcher.Invoke(() => { Reporter.ToUser(eUserMsgKey.GeneralErrorOccured, error); }); return(false); } } return(result); }
private void resolve_Click(object sender, EventArgs e) { Reporter.ToStatus(eStatusMsgKey.ResolveSourceControlConflicts); switch (mResolveOperation) { case eResolveOperations.AcceptServer: SourceControlIntegration.ResolveConflicts(WorkSpace.UserProfile.Solution.SourceControl, mConflictPath, eResolveConflictsSide.Server); break; case eResolveOperations.KeepLocal: SourceControlIntegration.ResolveConflicts(WorkSpace.UserProfile.Solution.SourceControl, mConflictPath, eResolveConflictsSide.Local); break; } Reporter.HideStatusMessage(); CloseWindow(); }
private void resolve_Click(object sender, EventArgs e) { Reporter.ToGingerHelper(eGingerHelperMsgKey.ResolveSourceControlConflicts); switch (mResolveOperation) { case eResolveOperations.AcceptServer: SourceControlIntegration.ResolveConflicts(App.UserProfile.Solution.SourceControl, mConflictPath, eResolveConflictsSide.Server); break; case eResolveOperations.KeepLocal: SourceControlIntegration.ResolveConflicts(App.UserProfile.Solution.SourceControl, mConflictPath, eResolveConflictsSide.Local); break; } Reporter.CloseGingerHelper(); CloseWindow(); }
public static bool GetLatest(string path, SourceControlBase SourceControl) { string error = string.Empty; List <string> conflictsPaths = new List <string>(); bool result = true; bool conflictHandled = false; if (!SourceControl.GetLatest(path, ref error, ref conflictsPaths)) { foreach (string cPath in conflictsPaths) { ResolveConflictPage resConfPage = new ResolveConflictPage(cPath); if (WorkSpace.RunningInExecutionMode == true) { SourceControlIntegration.ResolveConflicts(SourceControl, cPath, eResolveConflictsSide.Server); } else { resConfPage.ShowAsWindow(); } result = resConfPage.IsResolved; if (!result) { Reporter.ToUser(eUserMsgKey.SourceControlGetLatestConflictHandledFailed); return(false); } conflictHandled = true; } if (!conflictHandled) { Reporter.ToUser(eUserMsgKey.SourceControlUpdateFailed, error); return(false); } } return(true); }