Fix: verschachtelte Entpack-Fortschritte wurden bei jedem Lauf verworfen
Der Resume-Prune validiert Eintraege gegen die Top-Level-Archiv-Kandidaten auf der Platte. Nested-Archiv-Schluessel (nested:<name>) haben dort kein Gegenstueck, also wurden sie bei JEDEM extractPackageArchives-Aufruf geloescht — verschachtelte Archive wurden beim Resume erneut entpackt. nested:-Schluessel werden im Prune jetzt uebersprungen (sie werden mit dem Rest geleert, wenn das Paket fertig ist).
This commit is contained in:
parent
3c33b988c3
commit
61a830475b
@ -2883,6 +2883,13 @@ export async function extractPackageArchives(options: ExtractOptions): Promise<{
|
||||
const resumeCompletedAtStart = resumeCompleted.size;
|
||||
const allCandidateNames = new Set(allCandidates.map((archivePath) => archiveNameKey(path.basename(archivePath))));
|
||||
for (const archiveName of Array.from(resumeCompleted.values())) {
|
||||
// Nested-archive progress (keyed "nested:<name>") has no top-level candidate on
|
||||
// disk to validate against, so it must NOT be pruned here — otherwise every
|
||||
// extractPackageArchives call wiped it and nested archives were re-extracted on
|
||||
// resume. It is cleared together with the rest once the package fully completes.
|
||||
if (archiveName.startsWith("nested:")) {
|
||||
continue;
|
||||
}
|
||||
if (!allCandidateNames.has(archiveName)) {
|
||||
resumeCompleted.delete(archiveName);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user