Skip to content

Commit 6fcabcd

Browse files
committed
make backup path URI
clean up user data provider
1 parent bf376d5 commit 6fcabcd

13 files changed

Lines changed: 50 additions & 45 deletions

File tree

src/vs/code/electron-main/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ class CodeMain {
161161
environmentService.logsPath,
162162
environmentService.globalStorageHome,
163163
environmentService.workspaceStorageHome,
164-
environmentService.backupHome
164+
environmentService.backupHome.fsPath
165165
].map((path): undefined | Promise<void> => path ? mkdirp(path) : undefined));
166166

167167
// Configuration service

src/vs/code/electron-main/windows.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1331,7 +1331,7 @@ export class WindowsManager extends Disposable implements IWindowsMainService {
13311331
// For all other cases we first call into registerEmptyWindowBackupSync() to set it before
13321332
// loading the window.
13331333
if (options.emptyWindowBackupInfo) {
1334-
configuration.backupPath = join(this.environmentService.backupHome, options.emptyWindowBackupInfo.backupFolder);
1334+
configuration.backupPath = join(this.environmentService.backupHome.fsPath, options.emptyWindowBackupInfo.backupFolder);
13351335
}
13361336

13371337
let window: ICodeWindow | undefined;

src/vs/platform/backup/electron-main/backupMainService.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export class BackupMainService implements IBackupMainService {
3636
@IConfigurationService private readonly configurationService: IConfigurationService,
3737
@ILogService private readonly logService: ILogService
3838
) {
39-
this.backupHome = environmentService.backupHome;
39+
this.backupHome = environmentService.backupHome.fsPath;
4040
this.workspacesJsonPath = environmentService.backupWorkspacesPath;
4141
}
4242

src/vs/platform/environment/common/environment.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ export interface IEnvironmentService {
124124
globalStorageHome: string;
125125
workspaceStorageHome: string;
126126

127-
backupHome: string;
127+
backupHome: URI;
128128
backupWorkspacesPath: string;
129129

130130
untitledWorkspacesHome: URI;

src/vs/platform/environment/node/environmentService.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,10 +151,10 @@ export class EnvironmentService implements IEnvironmentService {
151151
get isExtensionDevelopment(): boolean { return !!this._args.extensionDevelopmentPath; }
152152

153153
@memoize
154-
get backupHome(): string { return path.join(this.userDataPath, BACKUPS); }
154+
get backupHome(): URI { return URI.file(path.join(this.userDataPath, BACKUPS)); }
155155

156156
@memoize
157-
get backupWorkspacesPath(): string { return path.join(this.backupHome, 'workspaces.json'); }
157+
get backupWorkspacesPath(): string { return path.join(this.backupHome.fsPath, 'workspaces.json'); }
158158

159159
@memoize
160160
get untitledWorkspacesHome(): URI { return URI.file(path.join(this.userDataPath, 'Workspaces')); }

src/vs/workbench/browser/web.main.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,7 @@ class CodeRendererMain extends Disposable {
8484
serviceCollection.set(ILogService, logService);
8585

8686
// Environment
87-
const remoteUserDataUri = this.getRemoteUserDataUri();
88-
const environmentService = new BrowserWorkbenchEnvironmentService(this.configuration, remoteUserDataUri);
87+
const environmentService = new BrowserWorkbenchEnvironmentService(this.configuration);
8988
serviceCollection.set(IWorkbenchEnvironmentService, environmentService);
9089

9190
// Product
@@ -116,8 +115,11 @@ class CodeRendererMain extends Disposable {
116115

117116
fileService.registerProvider(Schemas.vscodeRemote, remoteFileSystemProvider);
118117

119-
if (!userDataProvider && remoteUserDataUri) {
120-
userDataProvider = this._register(new FileUserDataProvider(remoteUserDataUri, dirname(remoteUserDataUri), remoteFileSystemProvider));
118+
if (!userDataProvider) {
119+
const remoteUserDataUri = this.getRemoteUserDataUri();
120+
if (remoteUserDataUri) {
121+
userDataProvider = this._register(new FileUserDataProvider(remoteUserDataUri, dirname(remoteUserDataUri), remoteFileSystemProvider, environmentService));
122+
}
121123
}
122124
}
123125

src/vs/workbench/electron-browser/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ class CodeRendererMain extends Disposable {
200200
fileService.registerProvider(Schemas.file, diskFileSystemProvider);
201201

202202
// User Data Provider
203-
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, URI.file(environmentService.backupHome), diskFileSystemProvider));
203+
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, environmentService.backupHome, diskFileSystemProvider, environmentService));
204204

205205
const connection = remoteAgentService.getConnection();
206206
if (connection) {

src/vs/workbench/services/backup/test/node/backupFileService.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ class TestBackupFileService extends BackupFileService {
6262
const fileService = new FileService(new NullLogService());
6363
const diskFileSystemProvider = new DiskFileSystemProvider(new NullLogService());
6464
fileService.registerProvider(Schemas.file, diskFileSystemProvider);
65-
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, URI.file(environmentService.backupHome), diskFileSystemProvider));
65+
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, environmentService.backupHome, diskFileSystemProvider, environmentService));
6666

6767
super(environmentService, fileService);
6868

src/vs/workbench/services/configuration/test/electron-browser/configurationEditingService.test.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,8 @@ import { KeybindingsEditingService, IKeybindingEditingService } from 'vs/workben
4242
import { WorkbenchEnvironmentService } from 'vs/workbench/services/environment/node/environmentService';
4343
import { IWindowConfiguration } from 'vs/platform/windows/common/windows';
4444
import { FileUserDataProvider } from 'vs/workbench/services/userData/common/fileUserDataProvider';
45-
import { dirname } from 'vs/base/common/resources';
4645

47-
class TestBackupEnvironmentService extends WorkbenchEnvironmentService {
46+
class TestEnvironmentService extends WorkbenchEnvironmentService {
4847

4948
constructor(private _appSettingsHome: URI) {
5049
super(parseArgs(process.argv) as IWindowConfiguration, process.execPath);
@@ -105,13 +104,13 @@ suite('ConfigurationEditingService', () => {
105104
clearServices();
106105

107106
instantiationService = <TestInstantiationService>workbenchInstantiationService();
108-
const environmentService = new TestBackupEnvironmentService(URI.file(workspaceDir));
107+
const environmentService = new TestEnvironmentService(URI.file(workspaceDir));
109108
instantiationService.stub(IEnvironmentService, environmentService);
110109
const remoteAgentService = instantiationService.createInstance(RemoteAgentService, {});
111110
const fileService = new FileService(new NullLogService());
112111
const diskFileSystemProvider = new DiskFileSystemProvider(new NullLogService());
113112
fileService.registerProvider(Schemas.file, diskFileSystemProvider);
114-
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(URI.file(workspaceDir), dirname(URI.file(workspaceDir)), diskFileSystemProvider));
113+
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, environmentService.backupHome, diskFileSystemProvider, environmentService));
115114
instantiationService.stub(IFileService, fileService);
116115
instantiationService.stub(IRemoteAgentService, remoteAgentService);
117116
const workspaceService = new WorkspaceService({ configurationCache: new ConfigurationCache(environmentService) }, environmentService, fileService, remoteAgentService);

src/vs/workbench/services/configuration/test/electron-browser/configurationService.test.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import { IJSONEditingService } from 'vs/workbench/services/configuration/common/
3030
import { JSONEditingService } from 'vs/workbench/services/configuration/common/jsonEditingService';
3131
import { createHash } from 'crypto';
3232
import { Schemas } from 'vs/base/common/network';
33-
import { originalFSPath, dirname } from 'vs/base/common/resources';
33+
import { originalFSPath } from 'vs/base/common/resources';
3434
import { isLinux } from 'vs/base/common/platform';
3535
import { IWindowConfiguration } from 'vs/platform/windows/common/windows';
3636
import { RemoteAgentService } from 'vs/workbench/services/remote/electron-browser/remoteAgentServiceImpl';
@@ -107,7 +107,7 @@ suite('WorkspaceContextService - Folder', () => {
107107
workspaceResource = folderDir;
108108
const environmentService = new TestEnvironmentService(URI.file(parentDir));
109109
const fileService = new FileService(new NullLogService());
110-
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, dirname(environmentService.appSettingsHome), new DiskFileSystemProvider(new NullLogService())));
110+
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, environmentService.backupHome, new DiskFileSystemProvider(new NullLogService()), environmentService));
111111
workspaceContextService = new WorkspaceService({ configurationCache: new ConfigurationCache(environmentService) }, environmentService, fileService, new RemoteAgentService(<IWindowConfiguration>{}, environmentService, new RemoteAuthorityResolverService(), new SignService()));
112112
return (<WorkspaceService>workspaceContextService).initialize(convertToWorkspacePayload(URI.file(folderDir)));
113113
});
@@ -173,7 +173,7 @@ suite('WorkspaceContextService - Workspace', () => {
173173
const fileService = new FileService(new NullLogService());
174174
const diskFileSystemProvider = new DiskFileSystemProvider(new NullLogService());
175175
fileService.registerProvider(Schemas.file, diskFileSystemProvider);
176-
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, dirname(environmentService.appSettingsHome), diskFileSystemProvider));
176+
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, environmentService.backupHome, diskFileSystemProvider, environmentService));
177177
const workspaceService = new WorkspaceService({ configurationCache: new ConfigurationCache(environmentService) }, environmentService, fileService, remoteAgentService);
178178

179179
instantiationService.stub(IWorkspaceContextService, workspaceService);
@@ -233,7 +233,7 @@ suite('WorkspaceContextService - Workspace Editing', () => {
233233
const fileService = new FileService(new NullLogService());
234234
const diskFileSystemProvider = new DiskFileSystemProvider(new NullLogService());
235235
fileService.registerProvider(Schemas.file, diskFileSystemProvider);
236-
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, dirname(environmentService.appSettingsHome), diskFileSystemProvider));
236+
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, environmentService.backupHome, diskFileSystemProvider, environmentService));
237237
const workspaceService = new WorkspaceService({ configurationCache: new ConfigurationCache(environmentService) }, environmentService, fileService, remoteAgentService);
238238

239239
instantiationService.stub(IWorkspaceContextService, workspaceService);
@@ -494,7 +494,7 @@ suite('WorkspaceService - Initialization', () => {
494494
const fileService = new FileService(new NullLogService());
495495
const diskFileSystemProvider = new DiskFileSystemProvider(new NullLogService());
496496
fileService.registerProvider(Schemas.file, diskFileSystemProvider);
497-
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, dirname(environmentService.appSettingsHome), diskFileSystemProvider));
497+
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, environmentService.backupHome, diskFileSystemProvider, environmentService));
498498
const workspaceService = new WorkspaceService({ configurationCache: new ConfigurationCache(environmentService) }, environmentService, fileService, remoteAgentService);
499499
instantiationService.stub(IWorkspaceContextService, workspaceService);
500500
instantiationService.stub(IConfigurationService, workspaceService);
@@ -758,7 +758,7 @@ suite('WorkspaceConfigurationService - Folder', () => {
758758
const fileService = new FileService(new NullLogService());
759759
const diskFileSystemProvider = new DiskFileSystemProvider(new NullLogService());
760760
fileService.registerProvider(Schemas.file, diskFileSystemProvider);
761-
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, dirname(environmentService.appSettingsHome), diskFileSystemProvider));
761+
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, environmentService.backupHome, diskFileSystemProvider, environmentService));
762762
const workspaceService = new WorkspaceService({ configurationCache: new ConfigurationCache(environmentService) }, environmentService, fileService, remoteAgentService);
763763
instantiationService.stub(IWorkspaceContextService, workspaceService);
764764
instantiationService.stub(IConfigurationService, workspaceService);
@@ -1088,7 +1088,7 @@ suite('WorkspaceConfigurationService-Multiroot', () => {
10881088
const fileService = new FileService(new NullLogService());
10891089
const diskFileSystemProvider = new DiskFileSystemProvider(new NullLogService());
10901090
fileService.registerProvider(Schemas.file, diskFileSystemProvider);
1091-
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, dirname(environmentService.appSettingsHome), diskFileSystemProvider));
1091+
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, environmentService.backupHome, diskFileSystemProvider, environmentService));
10921092
const workspaceService = new WorkspaceService({ configurationCache: new ConfigurationCache(environmentService) }, environmentService, fileService, remoteAgentService);
10931093

10941094
instantiationService.stub(IWorkspaceContextService, workspaceService);
@@ -1490,7 +1490,7 @@ suite('WorkspaceConfigurationService - Remote Folder', () => {
14901490
const remoteAgentService = instantiationService.stub(IRemoteAgentService, <Partial<IRemoteAgentService>>{ getEnvironment: () => remoteEnvironmentPromise });
14911491
const fileService = new FileService(new NullLogService());
14921492
fileService.registerProvider(Schemas.file, diskFileSystemProvider);
1493-
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, dirname(environmentService.appSettingsHome), diskFileSystemProvider));
1493+
fileService.registerProvider(Schemas.userData, new FileUserDataProvider(environmentService.appSettingsHome, environmentService.backupHome, diskFileSystemProvider, environmentService));
14941494
const configurationCache: IConfigurationCache = { read: () => Promise.resolve(''), write: () => Promise.resolve(), remove: () => Promise.resolve() };
14951495
testObject = new WorkspaceService({ configurationCache, remoteAuthority }, environmentService, fileService, remoteAgentService);
14961496
instantiationService.stub(IWorkspaceContextService, testObject);

0 commit comments

Comments
 (0)