Search in sources :

Example 6 with Entry

use of org.netbeans.lib.cvsclient.admin.Entry in project intellij-community by JetBrains.

the class DefaultResponseHandler method processCheckedInResponse.

public void processCheckedInResponse(String relativeLocalDirectory, String repositoryFilePath, String entryLine, IResponseServices responseServices, IClientEnvironment clientEnvironment) throws IOException {
    final FileObject fileObject = clientEnvironment.getCvsFileSystem().getFileObject(relativeLocalDirectory, repositoryFilePath);
    final Entry entry = Entry.createEntryForLine(entryLine);
    // for added and removed entries set the conflict to Dummy timestamp.
    if (entry.isAddedFile() || entry.isRemoved()) {
        entry.setDummyTimestamp();
    } else {
        final File file = clientEnvironment.getCvsFileSystem().getLocalFileSystem().getFile(fileObject);
        final String mode = responseServices.getNextFileMode();
        final boolean readOnly = mode != null && FileUtils.isReadOnlyMode(mode);
        clientEnvironment.getFileReadOnlyHandler().setFileReadOnly(file, readOnly);
        final Date date = new Date(file.lastModified());
        entry.parseConflictString(Entry.getLastModifiedDateFormatter().format(date));
    }
    clientEnvironment.getAdminWriter().setEntry(fileObject.getParent(), entry, clientEnvironment.getCvsFileSystem());
    responseServices.getEventSender().notifyEntryListeners(fileObject, entry);
}
Also used : Entry(org.netbeans.lib.cvsclient.admin.Entry) File(java.io.File) Date(java.util.Date)

Example 7 with Entry

use of org.netbeans.lib.cvsclient.admin.Entry in project intellij-community by JetBrains.

the class DefaultResponseHandler method processNewEntryResponse.

public void processNewEntryResponse(String relativeLocalDirectory, String repositoryFilePath, IResponseServices responseServoces, String entryLine, IClientEnvironment clientEnvironment) throws IOException {
    // we set the date the file was last modified in the Entry line
    // so that we can easily determine whether the file has been
    // untouched
    final FileObject fileObject = clientEnvironment.getCvsFileSystem().getFileObject(relativeLocalDirectory, repositoryFilePath);
    final Entry entry = Entry.createEntryForLine(entryLine);
    entry.setDummyTimestamp();
    clientEnvironment.getAdminWriter().setEntry(fileObject.getParent(), entry, clientEnvironment.getCvsFileSystem());
    responseServoces.getEventSender().notifyEntryListeners(fileObject, entry);
}
Also used : Entry(org.netbeans.lib.cvsclient.admin.Entry)

Example 8 with Entry

use of org.netbeans.lib.cvsclient.admin.Entry in project intellij-community by JetBrains.

the class FileSystemScanner method scanDirectory.

private List<DirectoryObject> scanDirectory(DirectoryObject directoryObject, CvsFiles cvsFiles) throws IOException {
    if (!clientEnvironment.getLocalFileReader().exists(directoryObject, clientEnvironment.getCvsFileSystem())) {
        return Collections.emptyList();
    }
    cvsFiles.add(CvsFile.createCvsDirectory(directoryObject));
    final Set<String> subDirectoryNames = new HashSet<>();
    final LocalFiles localFiles = new LocalFiles(directoryObject, clientEnvironment);
    // get all the entries we know about, and process them
    final Collection<Entry> entries = clientEnvironment.getAdminReader().getEntries(directoryObject, clientEnvironment.getCvsFileSystem());
    for (final Entry entry : entries) {
        if (entry.isDirectory()) {
            subDirectoryNames.add(entry.getFileName());
        } else {
            final FileObject fileObject = FileObject.createInstance(directoryObject, entry.getFileName());
            final boolean fileExists = clientEnvironment.getLocalFileReader().exists(fileObject, clientEnvironment.getCvsFileSystem());
            cvsFiles.add(CvsFile.createCvsFileForEntry(fileObject, entry, fileExists));
            localFiles.removeFile(entry.getFileName());
        }
    }
    for (final String fileName : localFiles.getFileNames()) {
        cvsFiles.add(CvsFile.createCvsFileForExistingFile(FileObject.createInstance(directoryObject, fileName)));
    }
    final List<DirectoryObject> subDirectories = new ArrayList<>(subDirectoryNames.size());
    for (final String directoryName : subDirectoryNames) {
        subDirectories.add(DirectoryObject.createInstance(directoryObject, directoryName));
    }
    return subDirectories;
}
Also used : Entry(org.netbeans.lib.cvsclient.admin.Entry) AbstractFileObject(org.netbeans.lib.cvsclient.file.AbstractFileObject) FileObject(org.netbeans.lib.cvsclient.file.FileObject) DirectoryObject(org.netbeans.lib.cvsclient.file.DirectoryObject)

Example 9 with Entry

use of org.netbeans.lib.cvsclient.admin.Entry in project intellij-community by JetBrains.

the class FileSystemScanner method addRequestsForFile.

private void addRequestsForFile(FileObject fileObject, CvsFiles cvsFiles) throws IOException {
    cvsFiles.add(CvsFile.createCvsDirectory(fileObject.getParent()));
    final Entry entry = clientEnvironment.getAdminReader().getEntry(fileObject, clientEnvironment.getCvsFileSystem());
    // Entries file for this directory
    if (entry != null) {
        final boolean exists = clientEnvironment.getLocalFileReader().exists(fileObject, clientEnvironment.getCvsFileSystem());
        cvsFiles.add(CvsFile.createCvsFileForEntry(fileObject, entry, exists));
    }
}
Also used : Entry(org.netbeans.lib.cvsclient.admin.Entry)

Example 10 with Entry

use of org.netbeans.lib.cvsclient.admin.Entry in project intellij-community by JetBrains.

the class AddCommand method addRequestsForFile.

private void addRequestsForFile(FileObject fileObject, Requests requests, IClientEnvironment clientEnvironment) throws IOException {
    final DirectoryObject parentDirectory = fileObject.getParent();
    addDirectoryRequest(parentDirectory, requests);
    addStickyRequest(parentDirectory, requests, clientEnvironment.getCvsFileSystem(), clientEnvironment);
    final Entry entry = clientEnvironment.getAdminReader().getEntry(fileObject, clientEnvironment.getCvsFileSystem());
    if (entry != null) {
        requests.addEntryRequest(entry);
    } else {
        requests.addIsModifiedRequest(fileObject);
    }
}
Also used : Entry(org.netbeans.lib.cvsclient.admin.Entry) DirectoryObject(org.netbeans.lib.cvsclient.file.DirectoryObject)

Aggregations

Entry (org.netbeans.lib.cvsclient.admin.Entry)24 VirtualFile (com.intellij.openapi.vfs.VirtualFile)13 File (java.io.File)8 VirtualFileEntry (com.intellij.cvsSupport2.checkinProject.VirtualFileEntry)5 IOException (java.io.IOException)5 CvsEntriesManager (com.intellij.cvsSupport2.application.CvsEntriesManager)2 CvsInfo (com.intellij.cvsSupport2.application.CvsInfo)2 DirectoryContent (com.intellij.cvsSupport2.checkinProject.DirectoryContent)2 VcsException (com.intellij.openapi.vcs.VcsException)2 EntriesHandler (org.netbeans.lib.cvsclient.admin.EntriesHandler)2 DirectoryObject (org.netbeans.lib.cvsclient.file.DirectoryObject)2 CvsLightweightFile (com.intellij.cvsSupport2.actions.cvsContext.CvsLightweightFile)1 CheckoutFileOperation (com.intellij.cvsSupport2.cvsoperations.cvsCheckOut.CheckoutFileOperation)1 SimpleRevision (com.intellij.cvsSupport2.cvsoperations.dateOrRevision.SimpleRevision)1 CvsRevisionNumber (com.intellij.cvsSupport2.history.CvsRevisionNumber)1 FileRevisionTimestampComparator (com.intellij.history.FileRevisionTimestampComparator)1 ItemLatestState (com.intellij.openapi.vcs.diff.ItemLatestState)1 VcsRevisionNumber (com.intellij.openapi.vcs.history.VcsRevisionNumber)1 MergeData (com.intellij.openapi.vcs.merge.MergeData)1 HashMap (com.intellij.util.containers.HashMap)1