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);
}
}
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;
}
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);
}
}
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;
}
Aggregations