Fixes for the generic history view
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSHistoryPage.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSHistoryPage.java
index d94c850..b32989d 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSHistoryPage.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSHistoryPage.java
@@ -229,7 +229,7 @@
getRevisionAction = getContextMenuAction(CVSUIMessages.HistoryView_getRevisionAction, true /* needs progress */, new IWorkspaceRunnable() {
public void run(IProgressMonitor monitor) throws CoreException {
- ICVSRemoteFile remoteFile = (ICVSRemoteFile) CVSWorkspaceRoot.getRemoteResourceFor(file);
+ ICVSRemoteFile remoteFile = (ICVSRemoteFile) CVSWorkspaceRoot.getRemoteResourceFor(((CVSFileRevision) currentSelection).getCVSRemoteFile());
try {
if(confirmOverwrite()) {
CVSTag revisionTag = new CVSTag(remoteFile.getRevision(), CVSTag.VERSION);
@@ -242,10 +242,9 @@
revisionTag)
.run(monitor);
- //historyTableProvider.setFile(remoteFile);
Display.getDefault().asyncExec(new Runnable() {
public void run() {
- tableViewer.refresh();
+ refresh();
}
});
}
@@ -597,6 +596,7 @@
IFileHistory fileHistory = teamProvider.getFileHistoryProvider().getFileHistoryFor(file, new NullProgressMonitor());
currentFileRevision = teamProvider.getFileHistoryProvider().getWorkspaceFileRevision(file);
historyTableProvider.setFile(fileHistory, file, currentFileRevision.getContentIdentifier());
+ tableViewer.setInput(fileHistory);
}
tableViewer.refresh();
}
@@ -611,7 +611,7 @@
public void showHistory(IResource resource, boolean refetch) {
if (resource instanceof IFile) {
IFile newfile = (IFile) resource;
- if (!refetch && this.file != null && newfile.equals(this.file)) {
+ if (!refetch && this.file != null || newfile.equals(this.file)) {
return;
}
this.file = newfile;
@@ -806,22 +806,10 @@
*/
public void resourceChanged(IResourceChangeEvent event) {
IResourceDelta root = event.getDelta();
- IResourceDelta[] projectDeltas = root.getAffectedChildren();
- processDelta(projectDeltas);
- }
-
- private void processDelta(IResourceDelta[] deltas) {
- for (int i = 0; i < deltas.length; i++) {
- IResourceDelta[] children = deltas[i].getAffectedChildren(IResourceDelta.CHANGED, IResource.FILE);
- if (children.length == 0) {
- //leaf
- IResource tempResource = deltas[i].getResource();
- if (tempResource.equals(file)) {
- //need to refresh
- showHistory(file, true);
- }
- }
- processDelta(children);
+ IResourceDelta resourceDelta = root.findMember(file.getFullPath());
+ if (resourceDelta != null){
+ //showHistory(file, true);
+ refresh();
}
}
}
diff --git a/bundles/org.eclipse.team.ui/plugin.properties b/bundles/org.eclipse.team.ui/plugin.properties
index 74cc6d1..e439931 100644
--- a/bundles/org.eclipse.team.ui/plugin.properties
+++ b/bundles/org.eclipse.team.ui/plugin.properties
@@ -55,7 +55,7 @@
CompressFolderView.name=Compress Folders
CompressFolderView.description=Compress in-sync folders paths
-FileRevision.OpenAction.name=&Open Revision
+FileRevision.OpenAction.name=&Open
FileRevision.Compare.name=&Compare
ShowLocalHistory.label=&Show Local History