mirror of
https://github.com/SamKirkland/FTP-Deploy-Action.git
synced 2025-08-14 14:05:05 +00:00
delete parent and child directry same time.
climb folder too much aflter deleting directory. removeDir function bug.
This commit is contained in:
parent
a9644610a0
commit
0c9da88683
16
dist/index.js
vendored
16
dist/index.js
vendored
@ -3138,7 +3138,6 @@ class FTPSyncProvider {
|
||||
});
|
||||
}
|
||||
removeFolder(folderPath) {
|
||||
var _a, _b;
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
this.logger.all(`removing folder "${folderPath + "/"}"`);
|
||||
const path = this.getFileBreadcrumbs(folderPath + "/");
|
||||
@ -3146,14 +3145,11 @@ class FTPSyncProvider {
|
||||
this.logger.verbose(` no need to change dir`);
|
||||
}
|
||||
else {
|
||||
const relativeFolderPath = path.folders[((_a = path.folders) === null || _a === void 0 ? void 0 : _a.length) - 1] + "/";
|
||||
this.logger.verbose(` removing folder "${relativeFolderPath}"`);
|
||||
this.logger.verbose(` removing folder "${path.folders.join("/") + "/"}"`);
|
||||
if (this.dryRun === false) {
|
||||
yield utilities_1.retryRequest(this.logger, () => __awaiter(this, void 0, void 0, function* () { return yield this.client.removeDir(relativeFolderPath); }));
|
||||
yield utilities_1.retryRequest(this.logger, () => __awaiter(this, void 0, void 0, function* () { return yield this.client.removeDir(path.folders.join("/")); }));
|
||||
}
|
||||
}
|
||||
// navigate back to the root folder
|
||||
yield this.upDir((_b = path.folders) === null || _b === void 0 ? void 0 : _b.length);
|
||||
this.logger.verbose(` completed`);
|
||||
});
|
||||
}
|
||||
@ -3193,8 +3189,12 @@ class FTPSyncProvider {
|
||||
yield this.removeFile(file.name);
|
||||
}
|
||||
// delete old folders
|
||||
let lastFileName = '///'
|
||||
for (const file of diffs.delete.filter(item => item.type === "folder")) {
|
||||
yield this.removeFolder(file.name);
|
||||
if(!file.name.startsWith(lastFileName + '/')) {
|
||||
yield this.removeFolder(file.name);
|
||||
}
|
||||
lastFileName = file.name
|
||||
}
|
||||
this.logger.all(`----------------------------------------------------------------`);
|
||||
this.logger.all(`🎉 Sync complete. Saving current server state to "${this.serverPath + this.stateName}"`);
|
||||
@ -4122,7 +4122,7 @@ class Client {
|
||||
await this.clearWorkingDir();
|
||||
if (remoteDirPath !== "/") {
|
||||
await this.cdup();
|
||||
await this.removeEmptyDir(remoteDirPath);
|
||||
await this.removeEmptyDir(remoteDirPath.replace(/.*\//,''));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user