in clearcase-server/src/jetbrains/buildServer/buildTriggers/vcs/clearcase/structure/WriteCorrectingVersionProcessor.java [112:138]
private void processAddedElements(final ChangedElementInfo changedElement,
final WriteVersionProcessor writeProcessor,
final ClearCaseConnection clearCaseConnection, final String parentDirFullPath)
throws VcsException {
final String parentPathWithNewVersion = getParentWithNewVersion(parentDirFullPath, changedElement, clearCaseConnection);
for (ChangedElementInfo addedElem : changedElement.getAddedElements()) {
if (addedElem.myChangeType == ChangedElementInfo.ChangeType.ADDED_FILE) {
final String fileName = new File(addedElem.myRelativePath).getName();
final ClearCaseFileAttr attr = clearCaseConnection.loadFileAttr(parentPathWithNewVersion + File.separator + fileName + CCParseUtil.CC_VERSION_SEPARATOR);
writeProcessor.writeFile(addedElem.myVersion, fileName, attr.isIsText(), attr.isIsExecutable());
}
else if (addedElem.myChangeType == ChangedElementInfo.ChangeType.ADDED_DIR) {
writeProcessor.writeDirOpen(addedElem.myVersion, new File(addedElem.myRelativePath).getName());
try {
final String addedDirName = new File(addedElem.myRelativePath).getName();
final String addedFileElementFullPath =
parentPathWithNewVersion + File.separator + addedDirName + CCParseUtil.CC_VERSION_SEPARATOR + addedElem.myVersion;
processAddedElements(addedElem, writeProcessor, clearCaseConnection, addedFileElementFullPath);
} finally {
writeProcessor.writeDirClose();
}
}
}
}