diff --git a/src/vs/code/electron-main/windows.ts b/src/vs/code/electron-main/windows.ts index f5cc159bdb6c3bab6c9148615c3cae4b396e9137..e04278782bf3e6541c9bdd428b8a6584895b51da 100644 --- a/src/vs/code/electron-main/windows.ts +++ b/src/vs/code/electron-main/windows.ts @@ -176,11 +176,6 @@ export class WindowsManager implements IWindowsMainService { state.folderPath = state.workspacePath; state.workspacePath = void 0; } - - // TODO@Ben migration to new workspace ID - if (state.workspace) { - state.workspace.id = this.workspacesService.getWorkspaceId(state.workspace.configPath); - } }); } @@ -277,7 +272,6 @@ export class WindowsManager implements IWindowsMainService { private onBeforeQuit(): void { const currentWindowsState: ILegacyWindowsState = { openedWindows: [], - openedFolders: [], // TODO@Ben migration so that old clients do not fail over data (prevents NPEs) lastPluginDevelopmentHostWindow: this.windowsState.lastPluginDevelopmentHostWindow, lastActiveWindow: this.lastClosedWindowState }; diff --git a/src/vs/platform/backup/electron-main/backupMainService.ts b/src/vs/platform/backup/electron-main/backupMainService.ts index c1794d53c3b1161b5ce7e0db563a0c71e35443ec..94210b0572f2e93ea6462fc195f86d49eb42a654 100644 --- a/src/vs/platform/backup/electron-main/backupMainService.ts +++ b/src/vs/platform/backup/electron-main/backupMainService.ts @@ -225,22 +225,6 @@ export class BackupMainService implements IBackupMainService { const hasBackups = this.hasBackupsSync(backupPath); const missingWorkspace = hasBackups && !fs.existsSync(workspacePath); - // TODO@Ben migration from old workspace ID to new - if (hasBackups && !missingWorkspace && !isSingleFolderWorkspaceIdentifier(workspaceId) && workspaceId.id !== this.workspacesService.getWorkspaceId(workspacePath)) { - staleBackupWorkspaces.push({ workspaceIdentifier: workspaceId, backupPath, target: workspaceOrFolder.target }); - - const identifier = { id: this.workspacesService.getWorkspaceId(workspacePath), configPath: workspacePath } as IWorkspaceIdentifier; - this.pushBackupPathsSync(identifier, this.backups.rootWorkspaces); - const newWorkspaceBackupPath = path.join(this.backupHome, identifier.id); - try { - fs.renameSync(backupPath, newWorkspaceBackupPath); - } catch (ex) { - this.logService.error(`Backup: Could not rename backup folder for legacy workspace: ${ex.toString()}`); - - this.removeBackupPathSync(identifier, this.backups.rootWorkspaces); - } - } - // If the workspace/folder has no backups, make sure to delete it // If the workspace/folder has backups, but the target workspace is missing, convert backups to empty ones if (!hasBackups || missingWorkspace) { diff --git a/src/vs/platform/workspaces/electron-main/workspacesMainService.ts b/src/vs/platform/workspaces/electron-main/workspacesMainService.ts index 94760a95bf49738cf4789048ba212957e926aa1b..6f29401ba8eb03fb86885c83930081c1b7f277aa 100644 --- a/src/vs/platform/workspaces/electron-main/workspacesMainService.ts +++ b/src/vs/platform/workspaces/electron-main/workspacesMainService.ts @@ -19,15 +19,8 @@ import { ILogService } from 'vs/platform/log/common/log'; import { isEqual, isEqualOrParent } from 'vs/base/common/paths'; import { coalesce } from 'vs/base/common/arrays'; import { createHash } from 'crypto'; -import URI from 'vs/base/common/uri'; import * as json from 'vs/base/common/json'; -// TODO@Ben migration -export interface ILegacyStoredWorkspace { - id: string; - folders: string[]; -} - export class WorkspacesMainService implements IWorkspacesMainService { public _serviceBrand: any; @@ -108,13 +101,6 @@ export class WorkspacesMainService implements IWorkspacesMainService { throw new Error(`${path} cannot be parsed as JSON file (${error}).`); } - // TODO@Ben migration - const legacyStoredWorkspace = (storedWorkspace) as ILegacyStoredWorkspace; - if (legacyStoredWorkspace.folders.some(folder => typeof folder === 'string')) { - storedWorkspace.folders = legacyStoredWorkspace.folders.map(folder => ({ path: URI.parse(folder).fsPath })); - writeFileSync(path, JSON.stringify(storedWorkspace, null, '\t')); - } - // Filter out folders which do not have a path set if (Array.isArray(storedWorkspace.folders)) { storedWorkspace.folders = storedWorkspace.folders.filter(folder => !!folder.path); diff --git a/src/vs/workbench/electron-browser/main.ts b/src/vs/workbench/electron-browser/main.ts index 5fb7912d541008747633b2bdcff212c78d5e1030..f1b566e63dab8a5a23522f9f4c462f2796bc2010 100644 --- a/src/vs/workbench/electron-browser/main.ts +++ b/src/vs/workbench/electron-browser/main.ts @@ -20,7 +20,7 @@ import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace import { EmptyWorkspaceServiceImpl, WorkspaceServiceImpl, WorkspaceService } from 'vs/workbench/services/configuration/node/configuration'; import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors'; import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; -import { realpath, readFile, writeFile } from 'vs/base/node/pfs'; +import { realpath } from 'vs/base/node/pfs'; import { EnvironmentService } from 'vs/platform/environment/node/environmentService'; import path = require('path'); import gracefulFs = require('graceful-fs'); @@ -42,7 +42,6 @@ import { WorkspacesChannelClient } from 'vs/platform/workspaces/common/workspace import { IWorkspacesService } from 'vs/platform/workspaces/common/workspaces'; import { ICredentialsService } from 'vs/platform/credentials/common/credentials'; import { CredentialsChannelClient } from 'vs/platform/credentials/node/credentialsIpc'; -import { migrateStorageToMultiRootWorkspace } from 'vs/platform/storage/common/migration'; import fs = require('fs'); gracefulFs.gracefulify(fs); // enable gracefulFs @@ -112,41 +111,16 @@ function openWorkbench(configuration: IWindowConfiguration): TPromise { } function createAndInitializeWorkspaceService(configuration: IWindowConfiguration, environmentService: EnvironmentService, workspacesService: IWorkspacesService): TPromise { - return migrateWorkspaceId(configuration).then(() => { - return validateWorkspacePath(configuration).then(() => { - let workspaceService: WorkspaceServiceImpl | EmptyWorkspaceServiceImpl; - if (configuration.workspace || configuration.folderPath) { - workspaceService = new WorkspaceServiceImpl(configuration.workspace || configuration.folderPath, environmentService, workspacesService); - } else { - workspaceService = new EmptyWorkspaceServiceImpl(environmentService); - } - - return workspaceService.initialize().then(() => workspaceService, error => new EmptyWorkspaceServiceImpl(environmentService)); - }); - }); -} - -// TODO@Ben migration -function migrateWorkspaceId(configuration: IWindowConfiguration): TPromise { - if (!configuration.workspace || !configuration.workspace.configPath) { - return TPromise.as(null); - } - - return readFile(configuration.workspace.configPath).then(data => { - try { - const raw = JSON.parse(data.toString()); - if (raw.id) { - const previousWorkspaceId = raw.id; - delete raw.id; - - migrateStorageToMultiRootWorkspace(uri.from({ path: previousWorkspaceId, scheme: 'root' }).toString(), configuration.workspace, window.localStorage); - - return writeFile(configuration.workspace.configPath, JSON.stringify(raw, null, '\t')); - } - } catch (error) { }; + return validateWorkspacePath(configuration).then(() => { + let workspaceService: WorkspaceServiceImpl | EmptyWorkspaceServiceImpl; + if (configuration.workspace || configuration.folderPath) { + workspaceService = new WorkspaceServiceImpl(configuration.workspace || configuration.folderPath, environmentService, workspacesService); + } else { + workspaceService = new EmptyWorkspaceServiceImpl(environmentService); + } - return void 0; - }).then(() => void 0, () => void 0); + return workspaceService.initialize().then(() => workspaceService, error => new EmptyWorkspaceServiceImpl(environmentService)); + }); } function validateWorkspacePath(configuration: IWindowConfiguration): TPromise {