/* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object other) { if (this == other) return true; if (!(other instanceof CVSCompareSubscriber)) return false; CVSCompareSubscriber s = (CVSCompareSubscriber) other; CVSResourceVariantTree tree1 = (CVSResourceVariantTree) getRemoteTree(); CVSResourceVariantTree tree2 = (CVSResourceVariantTree) s.getRemoteTree(); IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); CVSTag tag1 = tree1.getTag(root); CVSTag tag2 = tree2.getTag(root); if (tag1 == null || tag2 == null) return false; return tag1.equals(tag2) && rootsEqual(s); }
/** Return the list of projects that are out-of-sync */ public IResource[] getOutOfSyncProjects( IProject[] projects, CVSTag[] tags, IProgressMonitor monitor) throws TeamException { CompareParticipant participant = (CompareParticipant) input.getParticipant(); CVSCompareSubscriber subscriber = (CVSCompareSubscriber) participant.getSubscriber(); subscriber.resetRoots(projects, tags); try { subscriber.primeRemoteTree(); } catch (CVSException e) { // Log and ignore RelEngPlugin.log(e); } participant.refreshNow(projects, "", monitor); IResource[] r = participant.getSyncInfoSet().members(ResourcesPlugin.getWorkspace().getRoot()); syncInfoSet = participant.getSyncInfoSet(); return r; }