@@ -193,7 +193,7 @@ export class SettingsSynchroniser extends AbstractJsonFileSynchroniser implement
193
193
previewContent,
194
194
acceptedResource : this . acceptedResource ,
195
195
acceptedContent,
196
- localChange : hasLocalChanged ? fileContent ? Change . Modified : Change . Added : Change . None ,
196
+ localChange : hasLocalChanged ? Change . Modified : Change . None ,
197
197
remoteChange : hasRemoteChanged ? Change . Modified : Change . None ,
198
198
hasConflicts,
199
199
} ] ;
@@ -206,43 +206,49 @@ export class SettingsSynchroniser extends AbstractJsonFileSynchroniser implement
206
206
const ignoredSettings = await this . getIgnoredSettings ( ) ;
207
207
acceptedContent = updateIgnoredSettings ( acceptedContent , resourcePreview . fileContent ? resourcePreview . fileContent . value . toString ( ) : '{}' , ignoredSettings , formatUtils ) ;
208
208
}
209
- return super . updateResourcePreview ( resourcePreview , resource , acceptedContent ) as Promise < IFileResourcePreview > ;
209
+ return {
210
+ ...resourcePreview ,
211
+ acceptedContent,
212
+ localChange : isEqual ( resource , this . localResource ) ? Change . None : Change . Modified ,
213
+ remoteChange : isEqual ( resource , this . remoteResource ) ? Change . None : Change . Modified ,
214
+ } ;
210
215
}
211
216
212
217
protected async applyPreview ( remoteUserData : IRemoteUserData , lastSyncUserData : IRemoteUserData | null , resourcePreviews : IFileResourcePreview [ ] , force : boolean ) : Promise < void > {
213
218
let { fileContent, acceptedContent : content , localChange, remoteChange } = resourcePreviews [ 0 ] ;
214
219
215
- if ( content !== null ) {
220
+ if ( localChange === Change . None && remoteChange === Change . None ) {
221
+ this . logService . info ( `${ this . syncResourceLogLabel } : No changes found during synchronizing settings.` ) ;
222
+ }
216
223
217
- this . validateContent ( content ) ;
224
+ content = content !== null ? content : '{}' ;
225
+ this . validateContent ( content ) ;
218
226
219
- if ( localChange !== Change . None ) {
220
- this . logService . trace ( `${ this . syncResourceLogLabel } : Updating local settings...` ) ;
221
- if ( fileContent ) {
222
- await this . backupLocal ( JSON . stringify ( this . toSettingsSyncContent ( fileContent . value . toString ( ) ) ) ) ;
223
- }
224
- await this . updateLocalFileContent ( content , fileContent , force ) ;
225
- this . logService . info ( `${ this . syncResourceLogLabel } : Updated local settings` ) ;
226
- }
227
- if ( remoteChange !== Change . None ) {
228
- const formatUtils = await this . getFormattingOptions ( ) ;
229
- // Update ignored settings from remote
230
- const remoteSettingsSyncContent = this . getSettingsSyncContent ( remoteUserData ) ;
231
- const ignoredSettings = await this . getIgnoredSettings ( content ) ;
232
- content = updateIgnoredSettings ( content , remoteSettingsSyncContent ? remoteSettingsSyncContent . settings : '{}' , ignoredSettings , formatUtils ) ;
233
- this . logService . trace ( `${ this . syncResourceLogLabel } : Updating remote settings...` ) ;
234
- remoteUserData = await this . updateRemoteUserData ( JSON . stringify ( this . toSettingsSyncContent ( content ) ) , force ? null : remoteUserData . ref ) ;
235
- this . logService . info ( `${ this . syncResourceLogLabel } : Updated remote settings` ) ;
227
+ if ( localChange !== Change . None ) {
228
+ this . logService . trace ( `${ this . syncResourceLogLabel } : Updating local settings...` ) ;
229
+ if ( fileContent ) {
230
+ await this . backupLocal ( JSON . stringify ( this . toSettingsSyncContent ( fileContent . value . toString ( ) ) ) ) ;
236
231
}
232
+ await this . updateLocalFileContent ( content , fileContent , force ) ;
233
+ this . logService . info ( `${ this . syncResourceLogLabel } : Updated local settings` ) ;
234
+ }
237
235
238
- // Delete the preview
239
- try {
240
- await this . fileService . del ( this . previewResource ) ;
241
- } catch ( e ) { /* ignore */ }
242
- } else {
243
- this . logService . info ( `${ this . syncResourceLogLabel } : No changes found during synchronizing settings.` ) ;
236
+ if ( remoteChange !== Change . None ) {
237
+ const formatUtils = await this . getFormattingOptions ( ) ;
238
+ // Update ignored settings from remote
239
+ const remoteSettingsSyncContent = this . getSettingsSyncContent ( remoteUserData ) ;
240
+ const ignoredSettings = await this . getIgnoredSettings ( content ) ;
241
+ content = updateIgnoredSettings ( content , remoteSettingsSyncContent ? remoteSettingsSyncContent . settings : '{}' , ignoredSettings , formatUtils ) ;
242
+ this . logService . trace ( `${ this . syncResourceLogLabel } : Updating remote settings...` ) ;
243
+ remoteUserData = await this . updateRemoteUserData ( JSON . stringify ( this . toSettingsSyncContent ( content ) ) , force ? null : remoteUserData . ref ) ;
244
+ this . logService . info ( `${ this . syncResourceLogLabel } : Updated remote settings` ) ;
244
245
}
245
246
247
+ // Delete the preview
248
+ try {
249
+ await this . fileService . del ( this . previewResource ) ;
250
+ } catch ( e ) { /* ignore */ }
251
+
246
252
if ( lastSyncUserData ?. ref !== remoteUserData . ref ) {
247
253
this . logService . trace ( `${ this . syncResourceLogLabel } : Updating last synchronized settings...` ) ;
248
254
await this . updateLastSyncUserData ( remoteUserData ) ;
0 commit comments