Search in sources :

Example 1 with Entry

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

the class CvsChangeProvider method getUpToDateTimeForFile.

public long getUpToDateTimeForFile(@NotNull VirtualFile vFile) {
    final Entry entry = myEntriesManager.getEntryFor(vFile.getParent(), vFile.getName());
    if (entry == null)
        return -1;
    // retrieve of any file version in time is not correct since update/merge was applie3d to already modified file
    /*if (entry.isResultOfMerge()) {
      long resultForMerge = CvsUtil.getUpToDateDateForFile(vFile);
      if (resultForMerge > 0) {
        return resultForMerge;
      }
    }*/
    final Date lastModified = entry.getLastModified();
    if (lastModified == null)
        return -1;
    return lastModified.getTime();
}
Also used : VirtualFileEntry(com.intellij.cvsSupport2.checkinProject.VirtualFileEntry) Entry(org.netbeans.lib.cvsclient.admin.Entry)

Example 2 with Entry

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

the class CvsChangeProvider method processEntriesIn.

private void processEntriesIn(@NotNull VirtualFile dir, VcsDirtyScope scope, ChangelistBuilder builder, boolean recursively, Collection<VirtualFile> cvsRoots, final ProgressIndicator progress) throws VcsException {
    final FilePath path = VcsContextFactory.SERVICE.getInstance().createFilePathOn(dir);
    if (!scope.belongsTo(path)) {
        if (LOG.isDebugEnabled()) {
            LOG.debug("Skipping out of scope path " + path);
        }
        return;
    }
    final DirectoryContent dirContent = getDirectoryContent(dir, progress);
    for (VirtualFile file : dirContent.getUnknownFiles()) {
        builder.processUnversionedFile(file);
    }
    for (VirtualFile file : dirContent.getIgnoredFiles()) {
        builder.processIgnoredFile(file);
    }
    for (Entry entry : dirContent.getDeletedDirectories()) {
        builder.processLocallyDeletedFile(VcsUtil.getFilePath(CvsVfsUtil.getFileFor(dir, entry.getFileName()), true));
    }
    for (Entry entry : dirContent.getDeletedFiles()) {
        builder.processLocallyDeletedFile(VcsUtil.getFilePath(CvsVfsUtil.getFileFor(dir, entry.getFileName()), false));
    }
    /*
    final Collection<VirtualFile> unknownDirs = dirContent.getUnknownDirectories();
    for (VirtualFile file : unknownDirs) {
      builder.processUnversionedFile(file);
    }
    */
    progress.checkCanceled();
    checkSwitchedDir(dir, builder, scope, cvsRoots);
    if (CvsUtil.fileIsUnderCvs(dir) && dir.getChildren().length == 1 && /* admin dir */
    dirContent.getDeletedFiles().isEmpty() && hasRemovedFiles(dirContent.getFiles())) {
        // directory is going to be deleted
        builder.processChange(new Change(CurrentContentRevision.create(path), CurrentContentRevision.create(path), FileStatus.DELETED), CvsVcs2.getKey());
    }
    for (VirtualFileEntry fileEntry : dirContent.getFiles()) {
        processFile(dir, fileEntry.getVirtualFile(), fileEntry.getEntry(), builder, progress);
    }
    if (recursively) {
        for (VirtualFile file : CvsVfsUtil.getChildrenOf(dir)) {
            progress.checkCanceled();
            if (file.isDirectory()) {
                if (!myVcsManager.isIgnored(file)) {
                    processEntriesIn(file, scope, builder, true, cvsRoots, progress);
                } else {
                    if (LOG.isDebugEnabled()) {
                        LOG.debug("Skipping ignored path " + file.getPath());
                    }
                }
            }
        }
    }
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) VirtualFileEntry(com.intellij.cvsSupport2.checkinProject.VirtualFileEntry) Entry(org.netbeans.lib.cvsclient.admin.Entry) VirtualFileEntry(com.intellij.cvsSupport2.checkinProject.VirtualFileEntry) DirectoryContent(com.intellij.cvsSupport2.checkinProject.DirectoryContent)

Example 3 with Entry

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

the class AdminReaderOnCache method getEntries.

public Collection<Entry> getEntries(final DirectoryObject directoryObject, final ICvsFileSystem cvsFileSystem) throws IOException {
    setProgressText(CvsBundle.message("progress.text.scanning.directory", cvsFileSystem.getLocalFileSystem().getFile(directoryObject).getAbsolutePath()));
    ProgressManager.checkCanceled();
    File parent = cvsFileSystem.getAdminFileSystem().getFile(directoryObject);
    Collection<Entry> entries = myCvsEntriesManager.getEntriesIn(CvsVfsUtil.findFileByIoFile(parent));
    ArrayList<Entry> copy = new ArrayList<>();
    for (final Entry entry : entries) {
        try {
            copy.add((Entry) entry.clone());
        } catch (CloneNotSupportedException e) {
            LOG.error(e);
        }
    }
    return copy;
}
Also used : Entry(org.netbeans.lib.cvsclient.admin.Entry) ArrayList(java.util.ArrayList) VirtualFile(com.intellij.openapi.vfs.VirtualFile) File(java.io.File)

Example 4 with Entry

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

the class CvsRollbackEnvironment method restoreFileFromCache.

private boolean restoreFileFromCache(VirtualFile parent, String name) {
    final Entry entry = CvsEntriesManager.getInstance().getEntryFor(parent, name);
    final String revision = entry.getRevision();
    if (revision == null) {
        return false;
    }
    final boolean makeReadOnly = CvsConfiguration.getInstance(myProject).MAKE_NEW_FILES_READONLY;
    return CvsUtil.restoreFileFromCachedContent(parent, name, revision, makeReadOnly);
}
Also used : Entry(org.netbeans.lib.cvsclient.admin.Entry)

Example 5 with Entry

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

the class CommandCvsHandler method createRestoreFileHandler.

public static CvsHandler createRestoreFileHandler(final VirtualFile parent, String name, boolean makeNewFilesReadOnly) {
    final File ioFile = new File(VfsUtilCore.virtualToIoFile(parent), name);
    final Entry entry = CvsEntriesManager.getInstance().getEntryFor(parent, name);
    final String revision = getRevision(entry);
    final CheckoutFileOperation operation = new CheckoutFileOperation(parent, new SimpleRevision(revision), name, makeNewFilesReadOnly);
    final CommandCvsHandler cvsHandler = new CommandCvsHandler(CvsBundle.message("operation.name.restore"), operation, FileSetToBeUpdated.EMPTY);
    operation.addFinishAction(() -> {
        final List<VcsException> errors = cvsHandler.getErrors();
        if (errors != null && !errors.isEmpty())
            return;
        if (entry != null) {
            entry.setRevision(revision);
            entry.setConflict(CvsUtil.formatDate(new Date(ioFile.lastModified())));
            try {
                CvsUtil.saveEntryForFile(ioFile, entry);
            } catch (IOException e) {
                LOG.error(e);
            }
            CvsEntriesManager.getInstance().clearCachedEntriesFor(parent);
        }
    });
    return cvsHandler;
}
Also used : Entry(org.netbeans.lib.cvsclient.admin.Entry) CheckoutFileOperation(com.intellij.cvsSupport2.cvsoperations.cvsCheckOut.CheckoutFileOperation) VcsException(com.intellij.openapi.vcs.VcsException) IOException(java.io.IOException) VirtualFile(com.intellij.openapi.vfs.VirtualFile) CvsLightweightFile(com.intellij.cvsSupport2.actions.cvsContext.CvsLightweightFile) File(java.io.File) SimpleRevision(com.intellij.cvsSupport2.cvsoperations.dateOrRevision.SimpleRevision)

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