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