in src/com/intellij/vssSupport/VssChangeProvider.java [344:376]
private void analyzeWritableFilesByDirectory( FilePath filePath, List<String> writableFiles,
HashSet<String> newFiles, HashSet<String> changed,
HashSet<String> hijacked )
{
ArrayList<VcsException> errors = new ArrayList<>();
DirectoryCommand cmd = new DirectoryCommand( project, filePath.getPath(), errors );
cmd.execute();
// If any error occured, most probably it is the critical one - others are
// processed on the "by line" basis (and per file correspondingly).
if( errors.size() > 0 )
{
VcsImplUtil.showErrorMessage(project, cmd.getErrors().get(0).getMessage(),
VssBundle.message("message.title.check.status"));
}
else
{
for( String path : writableFiles )
{
if (progress != null) {
progress.checkCanceled();
}
String oldPath = VssChangeProvider.discoverOldName( host, path ).toLowerCase();
if( !cmd.isInProject( oldPath ) )
newFiles.add( path );
else
if( !cmd.isCheckedOut( oldPath ))
hijacked.add( path );
else
changed.add( path );
}
}
}