tree a968bb832a9acf25ac078ef7eaaa9f9d88328ffa
parent 3c5ae11a10c849fe957b884ec1fe6af9088df0c3
author cvs2git <> 1236293038 +0000
committer cvs2git <> 1236293038 +0000

This commit was manufactured by cvs2svn to create tag 'R_3_1_0'.

Sprout from master 2009-03-05 22:43:57 UTC mkersten 'NEW - bug 267143: [performance][context] expand all causes expensive computations in InterestFilter'
Delete:
    org.eclipse.mylyn.examples.monitor.study/.classpath
    org.eclipse.mylyn.examples.monitor.study/.cvsignore
    org.eclipse.mylyn.examples.monitor.study/.project
    org.eclipse.mylyn.examples.monitor.study/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.mylyn.examples.monitor.study/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.mylyn.examples.monitor.study/.settings/org.eclipse.ltk.core.refactoring.prefs
    org.eclipse.mylyn.examples.monitor.study/.settings/org.eclipse.mylar.tasklist.prefs
    org.eclipse.mylyn.examples.monitor.study/.settings/org.eclipse.mylyn.tasklist.prefs
    org.eclipse.mylyn.examples.monitor.study/.settings/org.eclipse.mylyn.tasks.ui.prefs
    org.eclipse.mylyn.examples.monitor.study/.settings/org.eclipse.pde.prefs
    org.eclipse.mylyn.examples.monitor.study/META-INF/MANIFEST.MF
    org.eclipse.mylyn.examples.monitor.study/build.properties
    org.eclipse.mylyn.examples.monitor.study/doc/study-ethics.html
    org.eclipse.mylyn.examples.monitor.study/doc/study-info.html
    org.eclipse.mylyn.examples.monitor.study/doc/study-signup.html
    org.eclipse.mylyn.examples.monitor.study/icons/eview16/wizard-feedback.gif
    org.eclipse.mylyn.examples.monitor.study/plugin.xml
    org.eclipse.mylyn.examples.monitor.study/scripts/getUID.cgi
    org.eclipse.mylyn.examples.monitor.study/scripts/questionnaire.cgi
    org.eclipse.mylyn.examples.monitor.study/scripts/upload.cgi
    org.eclipse.mylyn.examples.monitor.study/src/org/eclipse/mylyn/examples/monitor/study/FeedbackWizard.java
    org.eclipse.mylyn.examples.monitor.study/src/org/eclipse/mylyn/examples/monitor/study/MylynUserStudyExamplePlugin.java
    org.eclipse.mylyn.examples.monitor.study/src/org/eclipse/mylyn/examples/monitor/study/QuestionnaireWizardPage.java
    org.eclipse.mylyn.examples.monitor.study/src/org/eclipse/mylyn/examples/monitor/study/SelectionMonitor.java
    org.eclipse.mylyn.examples.monitor.study/src/org/eclipse/mylyn/examples/monitor/study/SubmitFeedbackPage.java