Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Michel-Lemieux2003-02-13 18:39:54 +0000
committerJean Michel-Lemieux2003-02-13 18:39:54 +0000
commit1bb766b27eff345dbeaf22e46de1a20f84881d58 (patch)
tree00bb4e7c0675713ae46c06c79e2e7dd6831bfc3b
parent74bbc478387089f120ad110aa30e4302427a17d0 (diff)
downloadeclipse.platform.team-1bb766b27eff345dbeaf22e46de1a20f84881d58.tar.gz
eclipse.platform.team-1bb766b27eff345dbeaf22e46de1a20f84881d58.tar.xz
eclipse.platform.team-1bb766b27eff345dbeaf22e46de1a20f84881d58.zip
temp changes
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFile.java2
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFolder.java17
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java13
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/FileModificationManager.java3
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFile.java2
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java51
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SyncInfoCache.java6
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache.java7
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/AddDeleteMoveListener.java7
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/MoveDeleteHook.java5
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileChangeListener.java1
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/Util.java4
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSLightweightDecorator.java28
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/SharingWizard.java3
14 files changed, 132 insertions, 17 deletions
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFile.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFile.java
index 63bb0f0f8..eadce7c28 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFile.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFile.java
@@ -499,7 +499,7 @@ public class EclipseFile extends EclipseResource implements ICVSFile {
EclipseSynchronizer.getInstance().flushDirtyCache(getIResource(), IResource.DEPTH_ZERO);
return;
}
- setModified(isModified(getSyncInfo()));
+ flushWithAncestors();
}
/**
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFolder.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFolder.java
index 265c79dfa..4e0173d70 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFolder.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFolder.java
@@ -55,7 +55,16 @@ class EclipseFolder extends EclipseResource implements ICVSFolder {
*/
public ICVSResource[] members(int flags) throws CVSException {
final List result = new ArrayList();
- IResource[] resources = EclipseSynchronizer.getInstance().members((IContainer)resource);
+ IResource[] resources = EclipseSynchronizer.getInstance().members((IContainer)resource);
+
+ if(flags == ALL_MEMBERS) {
+ ICVSResource cvsResources[] = new ICVSResource[resources.length];
+ for (int i = 0; i < resources.length; i++) {
+ cvsResources[i] = CVSWorkspaceRoot.getCVSResourceFor(resources[i]);
+ }
+ return cvsResources;
+ }
+
boolean includeFiles = (((flags & FILE_MEMBERS) != 0) || ((flags & (FILE_MEMBERS | FOLDER_MEMBERS)) == 0));
boolean includeFolders = (((flags & FOLDER_MEMBERS) != 0) || ((flags & (FILE_MEMBERS | FOLDER_MEMBERS)) == 0));
boolean includeManaged = (((flags & MANAGED_MEMBERS) != 0) || ((flags & (MANAGED_MEMBERS | UNMANAGED_MEMBERS | IGNORED_MEMBERS)) == 0));
@@ -439,6 +448,12 @@ class EclipseFolder extends EclipseResource implements ICVSFolder {
*/
private String determineDirtyCount(String indicator, boolean shared) throws CVSException {
IContainer container = (IContainer)getIResource();
+
+ // DECORATOR this members call will cause all sync info from disk to be read at startup -
+ // could we instead use IResource::members(includePhantom)?
+ // It may not be that bad since the sync info will be read at some point anyway and it
+ // does not change the perceived startup time because it is done in a separate thread.
+ // But if we KNEW at shutdown that a file was clean, why not save that info?
ICVSResource[] children = members(ALL_UNIGNORED_MEMBERS);
int count = 0;
Set deletedChildren = new HashSet();
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java
index a3300cc62..3eaf104b5 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java
@@ -1406,7 +1406,10 @@ public class EclipseSynchronizer {
}
getSyncInfoCacheFor(resource).flushDirtyCache(resource);
} finally {
- flushDirtyCacheWithAncestors(resource.getParent());
+ IContainer parent = resource.getParent();
+ if(! alreadyflushed(parent)) {
+ flushDirtyCacheWithAncestors(parent);
+ }
}
} finally {
endOperation(null);
@@ -1414,6 +1417,14 @@ public class EclipseSynchronizer {
}
/**
+ * @param parent
+ * @return boolean
+ */
+ private boolean alreadyflushed(IContainer resource) throws CVSException {
+ return getSyncInfoCacheFor(resource).isDirtyCacheFlushed(resource);
+ }
+
+ /**
* Method updated flags the objetc as having been modfied by the updated
* handler. This flag is read during the resource delta to determine whether
* the modification made the file dirty or not.
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/FileModificationManager.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/FileModificationManager.java
index bd20e5e1f..6c59d1a84 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/FileModificationManager.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/FileModificationManager.java
@@ -59,6 +59,9 @@ public class FileModificationManager implements IResourceChangeListener, ISavePa
if (!project.isAccessible()) {
return false;
}
+ if ((delta.getFlags() & IResourceDelta.OPEN) != 0) {
+ return false;
+ }
if (RepositoryProvider.getProvider(project, CVSProviderPlugin.getTypeId()) == null) {
return false;
}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFile.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFile.java
index fd81e87eb..0b08274b8 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFile.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFile.java
@@ -107,6 +107,7 @@ public class RemoteFile extends RemoteResource implements ICVSRemoteFile {
newInfo.setKeywordMode(Command.KSUBST_TEXT_EXPAND);
newInfo.setTag(tag);
syncBytes = newInfo.getBytes();
+ setWorkspaceSyncState(workspaceSyncState);
}
public RemoteFile(RemoteFolder parent, byte[] syncBytes) throws CVSException {
@@ -622,4 +623,5 @@ public class RemoteFile extends RemoteResource implements ICVSRemoteFile {
setSyncInfo(new ResourceSyncInfo(syncBytes));
}
+
} \ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java
index fb4f96968..fb34a41b8 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java
@@ -16,6 +16,8 @@ import java.util.Set;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ISaveContext;
+import org.eclipse.core.resources.ISaveParticipant;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.QualifiedName;
@@ -29,7 +31,7 @@ import org.eclipse.team.internal.ccvs.core.util.SyncFileWriter;
* This cache uses session properties to hold the bytes representing the sync
* info
*/
-/*package*/ class SessionPropertySyncInfoCache extends SyncInfoCache {
+/*package*/ class SessionPropertySyncInfoCache extends SyncInfoCache implements ISaveParticipant {
// key used on a folder to indicate that the resource sync has been cahced for it's children
private static final QualifiedName RESOURCE_SYNC_CACHED_KEY = new QualifiedName(CVSProviderPlugin.ID, "resource-sync-cached"); //$NON-NLS-1$
@@ -206,14 +208,14 @@ import org.eclipse.team.internal.ccvs.core.util.SyncFileWriter;
}
private void internalSetDirtyIndicator(IContainer container, String indicator) throws CVSException {
try {
- container.setPersistentProperty(IS_DIRTY, indicator);
+ container.setSessionProperty(IS_DIRTY, indicator);
} catch (CoreException e) {
throw CVSException.wrapException(e);
}
}
private String internalGetDirtyIndicator(IContainer container) throws CVSException {
try {
- return container.getPersistentProperty(IS_DIRTY);
+ return (String)container.getSessionProperty(IS_DIRTY);
} catch (CoreException e) {
throw CVSException.wrapException(e);
}
@@ -260,7 +262,7 @@ import org.eclipse.team.internal.ccvs.core.util.SyncFileWriter;
} else {
resource.setSessionProperty(DIRTY_COUNT, null);
resource.setSessionProperty(DELETED_CHILDREN, null);
- resource.setPersistentProperty(IS_DIRTY, null);
+ resource.setSessionProperty(IS_DIRTY, null);
}
} catch (CoreException e) {
throw CVSException.wrapException(e);
@@ -335,6 +337,8 @@ import org.eclipse.team.internal.ccvs.core.util.SyncFileWriter;
/*package*/ boolean contentsChangedByUpdate(IFile file) throws CVSException {
try {
+ // DECORATOR why isn't the IS_DIRTY flag set when the file is marked as updated? This
+ // would essentially cache the dirty state on checkout.
Object indicator = file.getSessionProperty(CLEAN_UPDATE);
boolean updated = false;
if (indicator == UPDATED_INDICATOR) {
@@ -394,4 +398,43 @@ import org.eclipse.team.internal.ccvs.core.util.SyncFileWriter;
throw CVSException.wrapException(e);
}
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.internal.ccvs.core.resources.SyncInfoCache#isDirtyCacheFlushed(org.eclipse.core.resources.IContainer)
+ */
+ boolean isDirtyCacheFlushed(IContainer resource) throws CVSException {
+ if (resource.exists()) {
+ try {
+ return resource.getSessionProperty(IS_DIRTY) == null;
+ } catch (CoreException e) {
+ throw CVSException.wrapException(e);
+ }
+ }
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.resources.ISaveParticipant#doneSaving(org.eclipse.core.resources.ISaveContext)
+ */
+ public void doneSaving(ISaveContext context) {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.resources.ISaveParticipant#prepareToSave(org.eclipse.core.resources.ISaveContext)
+ */
+ public void prepareToSave(ISaveContext context) throws CoreException {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.resources.ISaveParticipant#rollback(org.eclipse.core.resources.ISaveContext)
+ */
+ public void rollback(ISaveContext context) {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.resources.ISaveParticipant#saving(org.eclipse.core.resources.ISaveContext)
+ */
+ public void saving(ISaveContext context) throws CoreException {
+ if(context.getKind() & ISaveContext.FULL_SAVE == 0)
+ }
}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SyncInfoCache.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SyncInfoCache.java
index 6d4960048..6da5e77ab 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SyncInfoCache.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SyncInfoCache.java
@@ -141,4 +141,10 @@ import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
* @param container
*/
/*package*/ abstract void setResourceSyncInfoCached(IContainer container) throws CVSException;
+
+ /**
+ * @param resource
+ * @return boolean
+ */
+ /*package*/ abstract boolean isDirtyCacheFlushed(IContainer resource) throws CVSException;
}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache.java
index ba1b54c28..a3127858c 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache.java
@@ -449,4 +449,11 @@ import org.eclipse.team.internal.ccvs.core.util.Util;
boolean isFolderSyncInfoCached(IContainer container) throws CVSException {
return true;
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.team.internal.ccvs.core.resources.SyncInfoCache#isDirtyCacheFlushed(org.eclipse.core.resources.IContainer)
+ */
+ boolean isDirtyCacheFlushed(IContainer resource) throws CVSException {
+ return false;
+ }
}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/AddDeleteMoveListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/AddDeleteMoveListener.java
index cf53ff9b9..a01d648ce 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/AddDeleteMoveListener.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/AddDeleteMoveListener.java
@@ -201,6 +201,13 @@ public class AddDeleteMoveListener implements IResourceDeltaVisitor, IResourceCh
for (int i = 0; i < projectDeltas.length; i++) {
final IResourceDelta delta = projectDeltas[i];
IResource resource = delta.getResource();
+
+ if (resource.getType() == IResource.PROJECT) {
+ // If the project is not accessible, don't process it
+ if (!resource.isAccessible()) continue;
+ if ((delta.getFlags() & IResourceDelta.OPEN) != 0) continue;
+ }
+
RepositoryProvider provider = RepositoryProvider.getProvider(resource.getProject(), CVSProviderPlugin.getTypeId());
// Make sure that the project is a CVS folder.
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/MoveDeleteHook.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/MoveDeleteHook.java
index 00a21abef..4fbd112f6 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/MoveDeleteHook.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/MoveDeleteHook.java
@@ -91,6 +91,11 @@ public class MoveDeleteHook implements IMoveDeleteHook {
// No special handling required for team-private members
if (folder.isTeamPrivateMember()) return false;
+
+ // DECORATOR I beleive that checking for the derived state of a resource will also help. They can
+ // essentially be ignored without having to check the ignore state of its parent tree.
+ // This would apply to all listeners (MoveDeleteHook, AddDeleteMoveListener, FileModificationManager).
+
monitor.beginTask(null, 100);
try {
final ICVSFolder cvsFolder = CVSWorkspaceRoot.getCVSFolderFor(folder);
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileChangeListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileChangeListener.java
index 5f6f54656..1eda04cf6 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileChangeListener.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileChangeListener.java
@@ -73,6 +73,7 @@ public class SyncFileChangeListener implements IResourceChangeListener {
if (resource.getType() == IResource.PROJECT) {
// If the project is not accessible, don't process it
if (!resource.isAccessible()) return false;
+ if ((delta.getFlags() & IResourceDelta.OPEN) != 0) return false;
}
String name = resource.getName();
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/Util.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/Util.java
index 3f2b71f10..27849f52b 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/Util.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/Util.java
@@ -318,4 +318,8 @@ public class Util {
}
return true;
}
+
+ public static boolean isSet(int flags, int bits) {
+ return (flags & bits) != 0;
+ }
} \ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSLightweightDecorator.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSLightweightDecorator.java
index 09f08fa6f..1d92d7000 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSLightweightDecorator.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSLightweightDecorator.java
@@ -41,6 +41,7 @@ import org.eclipse.team.internal.ccvs.core.ICVSRunnable;
import org.eclipse.team.internal.ccvs.core.IResourceStateChangeListener;
import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
+import org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer;
import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
import org.eclipse.team.ui.ISharedImages;
@@ -97,14 +98,25 @@ public class CVSLightweightDecorator
public static boolean isDirty(final ICVSResource cvsFile) {
try {
final boolean[] isDirty = new boolean[] {false};
- cvsFile.getParent().run(new ICVSRunnable() {
- public void run(IProgressMonitor monitor) throws CVSException {
- // file is dirty or file has been merged by an update
- if(!cvsFile.isIgnored()) {
- isDirty[0] = cvsFile.isModified();
- }
- }
- }, null);
+
+ // DECORATOR investigate the implications of not calling isModified() in a
+ // workspace runnable. Maybe adding a check to EclipseSynchronizer such
+ // that the workspace is never modified (e.g. resulting in a delta) during this
+ // operation.
+
+// EclipseSynchronizer.getInstance().run(new ICVSRunnable() {
+// public void run(IProgressMonitor monitor) throws CVSException {
+// // file is dirty or file has been merged by an update
+// if(!cvsFile.isIgnored()) {
+// isDirty[0] = cvsFile.isModified();
+// }
+// }
+// }, null);
+
+ if(!cvsFile.isIgnored()) {
+ isDirty[0] = cvsFile.isModified();
+ }
+
return isDirty[0];
} catch (CVSException e) {
//if we get an error report it to the log but assume dirty
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/SharingWizard.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/SharingWizard.java
index fd1e87649..660284af0 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/SharingWizard.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/SharingWizard.java
@@ -431,9 +431,8 @@ public class SharingWizard extends Wizard implements IConfigurationWizard {
// for now, just unmanage
folder.unmanage(null);
}
- folder.acceptChildren(this);
}
- });
+ }, true /* recurse */);
} catch (CVSException e) {
// log the exception and return null
CVSUIPlugin.log(e);

Back to the top