tree 7a96e435d388ac241fda171b41217a451079056e
parent db97547573bf29f1417c121bfbed9c0e34e6d8cd
author cvs2git <> 1182901081 +0000
committer cvs2git <> 1182901081 +0000

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

Sprout from master 2007-06-26 23:38:00 UTC mkersten 'RESOLVED - bug 194072: UI usage upload isn't working'
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/MylarUserStudyExamplePlugin.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
    org.eclipse.mylyn.monitor.reports/.classpath
    org.eclipse.mylyn.monitor.reports/.cvsignore
    org.eclipse.mylyn.monitor.reports/.project
    org.eclipse.mylyn.monitor.reports/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.mylyn.monitor.reports/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.mylyn.monitor.reports/.settings/org.eclipse.ltk.core.refactoring.prefs
    org.eclipse.mylyn.monitor.reports/.settings/org.eclipse.mylar.tasklist.prefs
    org.eclipse.mylyn.monitor.reports/.settings/org.eclipse.mylyn.tasklist.prefs
    org.eclipse.mylyn.monitor.reports/.settings/org.eclipse.mylyn.tasks.ui.prefs
    org.eclipse.mylyn.monitor.reports/.settings/org.eclipse.pde.prefs
    org.eclipse.mylyn.monitor.reports/META-INF/MANIFEST.MF
    org.eclipse.mylyn.monitor.reports/about.html
    org.eclipse.mylyn.monitor.reports/build-user.xml
    org.eclipse.mylyn.monitor.reports/build.properties
    org.eclipse.mylyn.monitor.reports/icons/eview16/folder.gif
    org.eclipse.mylyn.monitor.reports/icons/eview16/monitor.gif
    org.eclipse.mylyn.monitor.reports/plugin.xml
    org.eclipse.mylyn.monitor.reports/src/org/eclipse/mylyn/internal/monitor/reports/MonitorReportsPlugin.java
    org.eclipse.mylyn.monitor.reports/src/org/eclipse/mylyn/internal/monitor/reports/collectors/AbstractMylarUsageCollector.java
    org.eclipse.mylyn.monitor.reports/src/org/eclipse/mylyn/internal/monitor/reports/collectors/FocusedUiUsageAnalysisCollector.java
    org.eclipse.mylyn.monitor.reports/src/org/eclipse/mylyn/internal/monitor/reports/collectors/FocusedUiUsageDetector.java
    org.eclipse.mylyn.monitor.reports/src/org/eclipse/mylyn/internal/monitor/reports/collectors/FocusedUiViewUsageCollector.java
    org.eclipse.mylyn.monitor.reports/src/org/eclipse/mylyn/internal/monitor/reports/preferences/UiUsageReportsPreferencePage.java
    org.eclipse.mylyn.monitor.reports/src/org/eclipse/mylyn/internal/monitor/reports/ui/actions/EclipseUsageSummaryAction.java
    org.eclipse.mylyn.monitor.reports/src/org/eclipse/mylyn/internal/monitor/reports/ui/actions/FocusedUiUserAnalysisAction.java
    org.eclipse.mylyn.sandbox.dev-feature/.project
    org.eclipse.mylyn.sandbox.dev-feature/.settings/org.eclipse.mylar.tasklist.prefs
    org.eclipse.mylyn.sandbox.dev-feature/.settings/org.eclipse.mylyn.tasklist.prefs
    org.eclipse.mylyn.sandbox.dev-feature/about.html
    org.eclipse.mylyn.sandbox.dev-feature/build.properties
    org.eclipse.mylyn.sandbox.dev-feature/epl-v10.html
    org.eclipse.mylyn.sandbox.dev-feature/feature.xml
    org.eclipse.mylyn.sandbox.dev-feature/license.html
    org.eclipse.mylyn.sandbox.dev/.classpath
    org.eclipse.mylyn.sandbox.dev/.cvsignore
    org.eclipse.mylyn.sandbox.dev/.project
    org.eclipse.mylyn.sandbox.dev/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.mylyn.sandbox.dev/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.mylyn.sandbox.dev/.settings/org.eclipse.ltk.core.refactoring.prefs
    org.eclipse.mylyn.sandbox.dev/.settings/org.eclipse.mylar.tasklist.prefs
    org.eclipse.mylyn.sandbox.dev/.settings/org.eclipse.mylyn.tasklist.prefs
    org.eclipse.mylyn.sandbox.dev/.settings/org.eclipse.mylyn.tasks.ui.prefs
    org.eclipse.mylyn.sandbox.dev/.settings/org.eclipse.pde.prefs
    org.eclipse.mylyn.sandbox.dev/META-INF/MANIFEST.MF
    org.eclipse.mylyn.sandbox.dev/about.html
    org.eclipse.mylyn.sandbox.dev/build.properties
    org.eclipse.mylyn.sandbox.dev/plugin.xml
    org.eclipse.mylyn.sandbox.dev/src/org/eclipse/mylyn/internal/sandbox/dev/InterestDebuggingDecorator.java
    org.eclipse.mylyn.sandbox.dev/src/org/eclipse/mylyn/internal/sandbox/dev/IntrospectObjectAction.java
    org.eclipse.mylyn.sandbox.tests/.classpath
    org.eclipse.mylyn.sandbox.tests/.cvsignore
    org.eclipse.mylyn.sandbox.tests/.project
    org.eclipse.mylyn.sandbox.tests/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.mylyn.sandbox.tests/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.mylyn.sandbox.tests/.settings/org.eclipse.ltk.core.refactoring.prefs
    org.eclipse.mylyn.sandbox.tests/.settings/org.eclipse.mylar.tasklist.prefs
    org.eclipse.mylyn.sandbox.tests/.settings/org.eclipse.mylyn.tasklist.prefs
    org.eclipse.mylyn.sandbox.tests/.settings/org.eclipse.mylyn.tasks.ui.prefs
    org.eclipse.mylyn.sandbox.tests/.settings/org.eclipse.pde.prefs
    org.eclipse.mylyn.sandbox.tests/META-INF/MANIFEST.MF
    org.eclipse.mylyn.sandbox.tests/build.properties
    org.eclipse.mylyn.sandbox.tests/src/org/eclipse/mylyn/sandbox/tests/AllSandboxTests.java
    org.eclipse.mylyn.sandbox.tests/src/org/eclipse/mylyn/sandbox/tests/BugzillaActiveSearchTest.java
    org.eclipse.mylyn.sandbox.tests/src/org/eclipse/mylyn/sandbox/tests/SharedTaskFolderTest.java
    org.eclipse.mylyn.sandbox.tests/src/org/eclipse/mylyn/sandbox/tests/StatisticsReportingTest.java