internal static bool Show( EditorWindow parentWindow, string unityAccessToken, string projectPath, string organizationName, RepId repId, long changesetId, long branchId, Action afterWorkspaceMigratedAction) { MigrationDialog dialog = Create( unityAccessToken, projectPath, organizationName, repId, changesetId, branchId, afterWorkspaceMigratedAction, new ProgressControlsForDialogs()); return(dialog.RunModal(parentWindow) == ResponseType.Ok); }
static void LaunchMigrationIfProjectIsArchivedAndMigrated( string unityAccessToken, string projectPath, string projectGuid, string headCommitSha) { IsCollabProjectMigratedResponse isMigratedResponse = null; ChangesetFromCollabCommitResponse changesetResponse = null; IThreadWaiter waiter = ThreadWaiter.GetWaiter(10); waiter.Execute( /*threadOperationDelegate*/ delegate { isMigratedResponse = WebRestApiClient.PlasticScm. IsCollabProjectMigrated(unityAccessToken, projectGuid); if (isMigratedResponse.Error != null) { return; } if (!isMigratedResponse.IsMigrated) { return; } OrganizationCredentials credentials = new OrganizationCredentials(); credentials.User = isMigratedResponse.Credentials.Email; credentials.Password = isMigratedResponse.Credentials.Token; string webLoginAccessToken = WebRestApiClient.CloudServer.WebLogin( isMigratedResponse.WebServerUri, isMigratedResponse.PlasticCloudOrganizationName, credentials); changesetResponse = WebRestApiClient.CloudServer. GetChangesetFromCollabCommit( isMigratedResponse.WebServerUri, isMigratedResponse.PlasticCloudOrganizationName, webLoginAccessToken, projectGuid, headCommitSha); }, /*afterOperationDelegate*/ delegate { if (waiter.Exception != null) { ExceptionsHandler.LogException( "IsCollabProjectArchivedAndMigrated", waiter.Exception); return; } if (isMigratedResponse.Error != null) { mLog.ErrorFormat( "Unable to get IsCollabProjectMigratedResponse: {0} [code {1}]", isMigratedResponse.Error.Message, isMigratedResponse.Error.ErrorCode); return; } if (!isMigratedResponse.IsMigrated) { SessionState.SetInt( IS_PROJECT_MIGRATED_ALREADY_CALCULATED_KEY, MIGRATED_NOTHING_TO_DO); return; } if (changesetResponse.Error != null) { mLog.ErrorFormat( "Unable to get ChangesetFromCollabCommitResponse: {0} [code {1}]", changesetResponse.Error.Message, changesetResponse.Error.ErrorCode); return; } DeletePlasticDirectoryIfExists(projectPath); MigrationDialog.Show( null, unityAccessToken, projectPath, isMigratedResponse.PlasticCloudOrganizationName, new RepId( changesetResponse.RepId, changesetResponse.RepModuleId), changesetResponse.ChangesetId, changesetResponse.BranchId, AfterWorkspaceMigrated); }); }