in src/net/sourceforge/transparent/Checkin/CCaseRollbackEnvironment.java [113:150]
private void collectNewChangesBack( List<Change> changes, HashSet<FilePath> newFilesAndfolders,
HashSet<FilePath> processedFiles )
{
HashSet<FilePath> foldersNew = new HashSet<>();
for( Change change : changes )
{
if( VcsUtil.isChangeForNew( change ) )
{
FilePath filePath = change.getAfterRevision().getFile();
if( !filePath.isDirectory() )
newFilesAndfolders.add( filePath );
else
foldersNew.add( filePath );
processedFiles.add( filePath );
}
}
ChangeListManager clMgr = ChangeListManager.getInstance(project);
FileStatusManager fsMgr = FileStatusManager.getInstance(project);
List<VirtualFile> allAffectedFiles = clMgr.getAffectedFiles();
for( VirtualFile file : allAffectedFiles )
{
FileStatus status = fsMgr.getStatus( file );
if( status == FileStatus.ADDED )
{
for( FilePath folder : foldersNew )
{
if( file.getPath().toLowerCase().startsWith( folder.getPath().toLowerCase() ))
{
FilePath path = clMgr.getChange( file ).getAfterRevision().getFile();
newFilesAndfolders.add( path );
}
}
}
}
newFilesAndfolders.addAll( foldersNew );
}