in src/net/sourceforge/transparent/StatusMultipleProcessor.java [70:122]
public void execute()
{
deletedFiles = new HashSet<>();
nonexistingFiles = new HashSet<>();
checkoutFiles = new HashSet<>();
hijackedFiles = new HashSet<>();
locallyDeleted = new HashSet<>();
int currFileIndex = 0;
int batchStartIndex = 0;
int cmdLineLen;
LinkedList<String> options = new LinkedList<>();
while( currFileIndex < files.length )
{
cmdLineLen = 0;
options.clear();
options.add(STATUS_COMMAND);
cmdLineLen += STATUS_COMMAND.length() + 1;
if (myRecursive) {
options.add(RECURSE_SWITCH);
cmdLineLen += RECURSE_SWITCH.length() + 1;
} else {
options.add(DIR_SWITCH);
cmdLineLen += DIR_SWITCH.length() + 1;
}
if (myViewOnly) {
options.add(VIEW_ONLY);
cmdLineLen += VIEW_ONLY.length() + 1;
}
while( currFileIndex < files.length && cmdLineLen < CMDLINE_MAX_LENGTH )
{
String path = files[ currFileIndex++ ];
options.add( path );
cmdLineLen += path.length() + 1;
}
String[] aOptions = ArrayUtil.toStringArray(options);
String out = TransparentVcs.cleartoolWithOutput( aOptions );
try
{
parseCleartoolOutput( out, batchStartIndex );
}
catch( Exception e )
{
TransparentVcs.LOG.info( "Failed to parse LS output (possible unknown message format):" );
TransparentVcs.LOG.info( out );
throw new ClearCaseException( "Failed to parse LS output (possible unknown message format):" + e.getMessage() );
}
batchStartIndex = currFileIndex;
}
}