313
314
// Last time synced resource and latest resource on server are same
316
return lastSyncUserData;
317
}
318
319
return this.getRemoteUserData(lastSyncUserData);
321
322
private async performSync(remoteUserData: IRemoteUserData, lastSyncUserData: IRemoteUserData | null, strategy: SyncStrategy, userDataSyncConfiguration: IUserDataSyncConfiguration): Promise<SyncStatus> {
324
throw new UserDataSyncError(localize({ key: 'incompatible', comment: ['This is an error while syncing a resource that its local version is not compatible with its remote version.'] }, "Cannot sync {0} as its local version {1} is not compatible with its remote version {2}", this.resource, this.version, remoteUserData.syncData.version), UserDataSyncErrorCode.IncompatibleLocalContent, this.resource);
325
}
327
>
try {
328
>
return await this.doSync(remoteUserData, lastSyncUserData, strategy, userDataSyncConfiguration);
329
>
} catch (e) {
330
if (e instanceof UserDataSyncError) {
331
switch (e.code) {