Do not remove parent directory in fs.remove()

Do the pruning in the cleanup logic instead
This commit is contained in:
Girish Ramakrishnan
2017-09-28 20:55:39 -07:00
parent 19999abc50
commit 4a5cbab194
2 changed files with 25 additions and 11 deletions

View File

@@ -116,9 +116,14 @@ function remove(apiConfig, filename, callback) {
assert.strictEqual(typeof filename, 'string');
assert.strictEqual(typeof callback, 'function');
safe.fs.unlinkSync(filename);
var stat = safe.fs.statSync(filename);
if (!stat) return callback();
safe.fs.rmdirSync(path.dirname(filename)); // try to cleanup empty directories
if (stat.isFile()) {
safe.fs.unlinkSync(filename);
} else if (stat.isDirectory()) {
safe.fs.rmdirSync(path.dirname(filename));
}
callback();
}
@@ -131,8 +136,6 @@ function removeDir(apiConfig, pathPrefix, callback) {
shell.exec('removeDir', '/bin/rm', [ '-rf', pathPrefix ], { }, function (error) {
if (error) return callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error.message));
safe.fs.rmdirSync(path.dirname(pathPrefix)); // try to cleanup empty directories
callback();
});
}