Search in sources :

Example 21 with Entry

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

the class CvsUtil method resolveConflict.

public static void resolveConflict(VirtualFile vFile) {
    File file = CvsVfsUtil.getFileFor(vFile);
    removeConflict(file);
    EntriesHandler handler = getEntriesHandlerIn(file.getParentFile());
    Entries entries = handler.getEntries();
    Entry entry = entries.getEntry(file.getName());
    if (entry == null)
        return;
    long timeStamp = vFile.getTimeStamp();
    final Date date = CvsStatusProvider.createDateDiffersTo(timeStamp);
    entry.parseConflictString(Entry.getLastModifiedDateFormatter().format(date));
    entries.addEntry(entry);
    try {
        handler.write(getLineSeparator(), CvsApplicationLevelConfiguration.getCharset());
    } catch (IOException e) {
        LOG.error(e);
    }
}
Also used : Entry(org.netbeans.lib.cvsclient.admin.Entry) Entries(org.netbeans.lib.cvsclient.admin.Entries) IOException(java.io.IOException) VirtualFile(com.intellij.openapi.vfs.VirtualFile) File(java.io.File) EntriesHandler(org.netbeans.lib.cvsclient.admin.EntriesHandler)

Example 22 with Entry

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

the class CvsInfo method setEntryAndReturnReplacedEntry.

public synchronized Entry setEntryAndReturnReplacedEntry(Entry entry) {
    Entry previousEntry = getEntryNamed(entry.getFileName());
    appendEntry(entry);
    return previousEntry;
}
Also used : Entry(org.netbeans.lib.cvsclient.admin.Entry)

Example 23 with Entry

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

the class CvsMergeProvider method loadRevisions.

@Override
@NotNull
public MergeData loadRevisions(@NotNull VirtualFile file) throws VcsException {
    try {
        final Entry entry = CvsEntriesManager.getInstance().getEntryFor(file);
        final File cvsFile = CvsVfsUtil.getFileFor(file);
        if (entry != null && entry.isResultOfMerge() && entry.isBinary()) {
            final String originalRevision = CvsUtil.getOriginalRevisionForFile(file);
            final MergeData mergeData = new MergeData();
            mergeData.CURRENT = CvsUtil.getStoredContentForFile(file, originalRevision);
            mergeData.LAST = FileUtil.loadFileBytes(cvsFile);
            return mergeData;
        }
        final BufferedInputStream input = new BufferedInputStream(new FileInputStream(cvsFile));
        try {
            final CvsConflictsParser parser = CvsConflictsParser.createOn(input);
            final MergeData mergeData = new MergeData();
            mergeData.ORIGINAL = parser.getCenterVersion().getBytes();
            mergeData.CURRENT = parser.getLeftVersion().getBytes();
            mergeData.LAST = parser.getRightVersion().getBytes();
            return mergeData;
        } finally {
            input.close();
        }
    } catch (IOException e) {
        throw new VcsException(e);
    }
}
Also used : Entry(org.netbeans.lib.cvsclient.admin.Entry) BufferedInputStream(java.io.BufferedInputStream) MergeData(com.intellij.openapi.vcs.merge.MergeData) VcsException(com.intellij.openapi.vcs.VcsException) IOException(java.io.IOException) VirtualFile(com.intellij.openapi.vfs.VirtualFile) File(java.io.File) FileInputStream(java.io.FileInputStream) NotNull(org.jetbrains.annotations.NotNull)

Example 24 with Entry

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

the class CvsCommittedChangesProvider method isDifferentBranch.

private static boolean isDifferentBranch(final FilePath filePath, final CvsChangeList changeList) {
    final String localTag;
    final CvsEntriesManager cvsEntriesManager = CvsEntriesManager.getInstance();
    final VirtualFile parent = filePath.getVirtualFileParent();
    if (parent != null) {
        final Entry entry = cvsEntriesManager.getEntryFor(parent, filePath.getName());
        if (entry != null) {
            localTag = entry.getStickyTag();
        } else {
            localTag = getDirectoryTag(parent);
        }
    } else {
        final VirtualFile validParent = ChangesUtil.findValidParentAccurately(filePath);
        if (validParent == null)
            return false;
        localTag = getDirectoryTag(validParent);
    }
    final String remoteTag = changeList.getBranch();
    if (!Comparing.equal(localTag, remoteTag)) {
        if (LOG.isDebugEnabled())
            LOG.info(filePath + ": local tag " + localTag + ", remote tag " + remoteTag);
        return true;
    }
    return false;
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) Entry(org.netbeans.lib.cvsclient.admin.Entry) CvsEntriesManager(com.intellij.cvsSupport2.application.CvsEntriesManager)

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