use of com.intellij.cvsSupport2.connections.CvsRootProvider in project intellij-community by JetBrains.
the class GetModuleContentOperation method createGetModuleContentOperation.
private LocalPathIndifferentOperation createGetModuleContentOperation(RepositoryPathProvider adminWriter, CvsEnvironment environment, final String moduleName) {
final LocalPathIndifferentOperation operation = new LocalPathIndifferentOperation(new AdminReaderOnStoredRepositoryPath(adminWriter), environment) {
private boolean myIsInModule = false;
@Override
protected Command createCommand(CvsRootProvider root, CvsExecutionEnvironment cvsExecutionEnvironment) {
final CheckoutCommand result = new CheckoutCommand(null);
result.addModule(moduleName);
result.setRecursive(true);
return result;
}
@Override
protected ILocalFileReader createLocalFileReader() {
return ConstantLocalFileReader.FOR_EXISTING_FILE;
}
@Override
protected String getOperationName() {
return "checkout";
}
@Override
protected ILocalFileWriter createLocalFileWriter(String cvsRoot, UpdatedFilesManager mergedFilesCollector, CvsExecutionEnvironment cvsExecutionEnvironment) {
return DeafLocalFileWriter.INSTANCE;
}
@Override
public void messageSent(String message, final byte[] byteMessage, boolean error, boolean tagged) {
super.messageSent(message, byteMessage, error, tagged);
myStreamingDirectoryContentListener.setModulePath(myAdminWriterStoringRepositoryPath.getModulePath());
final Matcher matcher = UPDATING_PATTERN.matcher(message);
if (matcher.matches()) {
if (myModuleLocation != null && myModuleLocation.equals(matcher.group(1))) {
myIsInModule = true;
} else {
myStreamingDirectoryContentListener.messageSent(message);
myIsInModule = false;
}
} else if (DirectoryContentListener.moduleMessage_ver1(message)) {
myIsInModule = true;
}
if (myIsInModule) {
myStreamingDirectoryContentListener.messageSent(message);
}
final DirectoryContent streamingDirectoryContent = myStreamingDirectoryContentListener.getDirectoryContent();
if (myStreamingListener != null) {
final long timePassed = System.currentTimeMillis() - timeStamp;
if (streamingDirectoryContent.getTotalSize() > 0 && timePassed > 25L) {
myStreamingListener.consume(streamingDirectoryContent);
final DirectoryContentListener newListener = new DirectoryContentListener();
newListener.setModuleName(myStreamingDirectoryContentListener.getModuleName());
myStreamingDirectoryContentListener = newListener;
timeStamp = System.currentTimeMillis();
}
} else {
myDirectoryContentListener.getDirectoryContent().copyDataFrom(streamingDirectoryContent);
}
}
@Override
public void modifyOptions(GlobalOptions options) {
super.modifyOptions(options);
options.setDoNoChanges(true);
}
};
operation.addFinishAction(() -> myStreamingListener.consume(myStreamingDirectoryContentListener.getDirectoryContent()));
return operation;
}
use of com.intellij.cvsSupport2.connections.CvsRootProvider in project intellij-community by JetBrains.
the class CvsCommandOperation method createEnvironment.
private IClientEnvironment createEnvironment(IConnection connection, final CvsRootProvider root, UpdatedFilesManager mergedFilesCollector, CvsExecutionEnvironment cvsExecutionEnv) {
final File localRoot = getLocalRootFor(root);
final File adminRoot = getAdminRootFor(root);
LOG.assertTrue(localRoot != null, getClass().getName());
LOG.assertTrue(adminRoot != null, getClass().getName());
return new ClientEnvironment(connection, localRoot, adminRoot, root.getCvsRoot(), createLocalFileReader(), createLocalFileWriter(root.getCvsRootAsString(), mergedFilesCollector, cvsExecutionEnv), myAdminReader, myAdminWriter, getIgnoreFileFilter(), new FileReadOnlyHandler(), CvsApplicationLevelConfiguration.getCharset());
}
use of com.intellij.cvsSupport2.connections.CvsRootProvider in project intellij-community by JetBrains.
the class EditOperation method execute.
@Override
protected void execute(CvsRootProvider root, CvsExecutionEnvironment executionEnvironment, ReadWriteStatistics statistics, IProgressViewer progressViewer) throws CommandException, CommandAbortedException, VcsException {
super.execute(root, executionEnvironment, statistics, progressViewer);
final VcsException vcsException = new CvsException(FILES_BEING_EDITED_EXCEPTION, root.getCvsRootAsString());
for (EditedFileInfo info : myEditFileInfos) {
if (info.isSuitableFor(root))
return;
final File file = info.getFile(root);
final VirtualFile virtualFile = CvsVfsUtil.findFileByIoFile(file);
if (virtualFile != null)
vcsException.setVirtualFile(virtualFile);
}
if (!myEditFileInfos.isEmpty())
throw vcsException;
}
use of com.intellij.cvsSupport2.connections.CvsRootProvider in project intellij-community by JetBrains.
the class LoadHistoryOperation method createCommand.
protected Command createCommand(CvsRootProvider root, CvsExecutionEnvironment cvsExecutionEnvironment) {
final RlogCommand command = new RlogCommand();
command.setModuleName(myModule);
command.setHeadersOnly(false);
command.setNoTags(myNoTags);
if (myDateFrom != null) {
command.setDateFrom(DATE_FORMAT.format(myDateFrom));
}
if (myDateTo != null) {
command.setDateTo(DATE_FORMAT.format(myDateTo));
}
command.setRevisions(myRevisions);
if (ourDoNotSupportingSOptionServers.contains(root.getCvsRootAsString())) {
command.setSuppressEmptyHeaders(false);
}
return command;
}
Aggregations