do not delete data dir for in-place import

This commit is contained in:
Girish Ramakrishnan
2019-12-05 10:40:32 -08:00
parent c07e215148
commit e8c5f8164c
2 changed files with 19 additions and 18 deletions

View File

@@ -545,7 +545,12 @@ function install(app, args, progressCallback, callback) {
addons.teardownAddons(app, addonsToRemove, next);
},
deleteAppDir.bind(null, app, { removeDirectory: false }), // do not remove any symlinked appdata dir
function deleteAppDirIfNeeded(done) {
if (restoreConfig && !restoreConfig.backupId) return done(); // in-place import should not delete data dir
deleteAppDir(app, { removeDirectory: false }, done); // do not remove any symlinked appdata dir
},
function deleteImageIfChanged(done) {
if (!restoreConfig || !restoreConfig.oldManifest) return done();
@@ -575,14 +580,20 @@ function install(app, args, progressCallback, callback) {
progressCallback.bind(null, { percent: 60, message: 'Setting up addons' }),
addons.setupAddons.bind(null, app, app.manifest.addons),
], next);
} else if (!restoreConfig.backupId) { // in-place import
async.series([
progressCallback.bind(null, { percent: 60, message: 'Importing addons in-place' }),
addons.restoreAddons.bind(null, app, app.manifest.addons),
], next);
} else {
async.series([
progressCallback.bind(null, { percent: 65, message: 'Download backup and restoring addons' }),
addons.setupAddons.bind(null, app, app.manifest.addons),
addons.clearAddons.bind(null, app, app.manifest.addons),
backups.restoreApp.bind(null, app, app.manifest.addons, restoreConfig, (progress) => {
progressCallback({ percent: 65, message: `Restore - ${progress.message}` });
})
backups.downloadApp.bind(null, app, restoreConfig, (progress) => {
progressCallback({ percent: 65, message: progress.message });
}),
addons.restoreAddons.bind(null, app, app.manifest.addons)
], next);
}
},