Search in sources :

Example 16 with Entry

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

the class AdminReaderOnCache method getEntry.

public Entry getEntry(final AbstractFileObject fileObject, final ICvsFileSystem cvsFileSystem) throws IOException {
    ProgressManager.checkCanceled();
    setProgressText(CvsBundle.message("progress.text.scanning.directory", cvsFileSystem.getLocalFileSystem().getFile(fileObject.getParent()).getAbsolutePath()));
    File file = cvsFileSystem.getAdminFileSystem().getFile(fileObject);
    Entry result = myCvsEntriesManager.getEntryFor(CvsVfsUtil.findFileByIoFile(file.getParentFile()), file.getName());
    if (result == null) {
        return null;
    } else {
        try {
            return (Entry) result.clone();
        } catch (CloneNotSupportedException e) {
            LOG.error(e);
            return null;
        }
    }
}
Also used : Entry(org.netbeans.lib.cvsclient.admin.Entry) VirtualFile(com.intellij.openapi.vfs.VirtualFile) File(java.io.File)

Example 17 with Entry

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

the class AdminWriterOnCache method addDirectoryToParentEntriesFile.

private void addDirectoryToParentEntriesFile(DirectoryObject directoryObject, ICvsFileSystem cvsFileSystem, String cvsRoot) throws IOException {
    DirectoryObject parentDirectoryObject = directoryObject.getParent();
    if (parentDirectoryObject == null)
        return;
    File directory = cvsFileSystem.getAdminFileSystem().getFile(directoryObject);
    final File parentDirectory = directory.getParentFile();
    if (parentDirectory == null)
        return;
    VirtualFile virtualParent = CvsVfsUtil.findFileByIoFile(parentDirectory);
    if (virtualParent == null)
        return;
    String directoryName = directory.getName();
    Entry entry = myCvsEntriesManager.getEntryFor(virtualParent, directoryName);
    if (entry == null) {
        if (CvsUtil.fileIsUnderCvs(virtualParent) && CvsEntriesManager.getInstance().getCvsConnectionSettingsFor(virtualParent).getCvsRootAsString().equals(cvsRoot)) {
            setEntry(parentDirectoryObject, Entry.createDirectoryEntry(directoryName), cvsFileSystem);
        }
    }
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) Entry(org.netbeans.lib.cvsclient.admin.Entry) VirtualFile(com.intellij.openapi.vfs.VirtualFile) File(java.io.File)

Example 18 with Entry

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

the class AdminWriterOnCache method setEntry.

public void setEntry(final DirectoryObject directoryObject, final Entry entry, final ICvsFileSystem cvsFileSystem) throws IOException {
    File parent = cvsFileSystem.getLocalFileSystem().getFile(directoryObject);
    if (myUpdatedFilesManager.fileIsNotUpdated(new File(parent, entry.getFileName())))
        return;
    if (notUnderCvs(directoryObject, cvsFileSystem))
        return;
    myAdminWriter.setEntry(directoryObject, entry, cvsFileSystem);
    VirtualFile virtualParent = CvsVfsUtil.findFileByIoFile(parent);
    Entry existing = myCvsEntriesManager.getEntryFor(virtualParent, entry.getFileName());
    if (existing == null)
        myUpdatedFilesManager.addNewlyCreatedEntry(entry);
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) Entry(org.netbeans.lib.cvsclient.admin.Entry) VirtualFile(com.intellij.openapi.vfs.VirtualFile) File(java.io.File)

Example 19 with Entry

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

the class CvsDiffProvider method getLastState.

private ItemLatestState getLastState(final VirtualFile parent, final String name) {
    final Entry entry = CvsEntriesManager.getInstance().getEntryFor(parent, name);
    if (entry == null)
        return new ItemLatestState(new CvsRevisionNumber("HEAD"), true, true);
    final String stickyHead = new StickyHeadGetter.MyStickyBranchHeadGetter(entry.getRevision(), myProject).getHead(parent, name);
    if (stickyHead == null) {
        return new ItemLatestState(new CvsRevisionNumber("HEAD"), true, true);
    }
    return new ItemLatestState(new CvsRevisionNumber(stickyHead), (!entry.isRemoved()), false);
}
Also used : Entry(org.netbeans.lib.cvsclient.admin.Entry) ItemLatestState(com.intellij.openapi.vcs.diff.ItemLatestState) CvsRevisionNumber(com.intellij.cvsSupport2.history.CvsRevisionNumber)

Example 20 with Entry

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

the class CvsUtil method restoreFile.

public static void restoreFile(final VirtualFile file) {
    CvsEntriesManager cvsEntriesManager = CvsEntriesManager.getInstance();
    VirtualFile directory = file == null ? null : file.getParent();
    LOG.assertTrue(directory != null);
    CvsInfo cvsInfo = cvsEntriesManager.getCvsInfoFor(directory);
    Entry entry = cvsInfo.getEntryNamed(file.getName());
    LOG.assertTrue(entry != null);
    String revision = entry.getRevision();
    LOG.assertTrue(StringUtil.startsWithChar(revision, '-'));
    String originalRevision = revision.substring(1);
    String date = Entry.formatLastModifiedDate(CvsStatusProvider.createDateDiffersTo(file.getTimeStamp()));
    String kwdSubstitution = entry.getOptions() == null ? "" : entry.getOptions();
    String stickyDataString = entry.getStickyData();
    Entry newEntry = Entry.createEntryForLine("/" + file.getName() + "/" + originalRevision + "/" + date + "/" + kwdSubstitution + "/" + stickyDataString);
    try {
        saveEntryForFile(CvsVfsUtil.getFileFor(file), newEntry);
        cvsEntriesManager.clearCachedEntriesFor(directory);
    } catch (final IOException e) {
        SwingUtilities.invokeLater(() -> Messages.showErrorDialog(CvsBundle.message("message.error.restore.entry", file.getPresentableUrl(), e.getLocalizedMessage()), CvsBundle.message("message.error.restore.entry.title")));
    }
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) Entry(org.netbeans.lib.cvsclient.admin.Entry) CvsEntriesManager(com.intellij.cvsSupport2.application.CvsEntriesManager) CvsInfo(com.intellij.cvsSupport2.application.CvsInfo) IOException(java.io.IOException)

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