if (verbose) {
log.info("...scheduling MKD {}/{}", parent.getPath(), repoName);
}
} break;
case DELETED: {
Aggregate an = change.file.getAggregate();
if (an == null) {
// intermediate directory
// can't handle here
assertInFilter(change.repoPath);
TxInfo txInfo = new TxInfo(change.repoPath, null);
txInfo.original.put(change.file.getPath(), change.file);
modified.put(txInfo.artifactsPath, txInfo);
} else {
assertInFilter(an.getPath());
TxInfo txInfo = modified.get(an.getPath());
if (txInfo == null) {
txInfo = new TxInfo(an);
VaultFile dir = null;
for (VaultFile rel : change.file.getRelated()) {
txInfo.original.put(rel.getPath(), rel);
if (rel.isDirectory()) {
dir = rel;
}
}
modified.put(txInfo.artifactsPath, txInfo);
// set parent file
if (dir == null) {
txInfo.parentFile = change.file.getParent();
} else {
txInfo.parentFile = dir.getParent();
}
}
txInfo.out.getArtifacts().remove(change.file.getArtifact());
if (verbose) {
log.info("...scheduling DEL {}", an.getPath());
}
}
} break;
case MODIFIED: {
Aggregate an = change.file.getAggregate();
TxInfo txInfo = modified.get(an.getPath());
if (txInfo == null) {
txInfo = new TxInfo(an);
VaultFile dir = null;
for (VaultFile rel: change.file.getRelated()) {
txInfo.original.put(rel.getPath(), rel);