tree a88e950e3915b8e814e7e5960b7a9afdcb7e9186
parent e1544a50f633f65b2d8aa859ec9e4e3ba4cb6f86
author cvs2git <> 1204008846 +0000
committer cvs2git <> 1204008846 +0000

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

Sprout from master 2008-02-21 00:41:08 UTC mkersten 'Version update'
Cherrypick from master 2008-02-17 06:05:13 UTC spingel 'NEW - bug 204279: support subtask nesting of local tasks':
    org.eclipse.mylyn.tasks.ui/META-INF/MANIFEST.MF
    org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPreferenceConstants.java
    org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/preferences/TasksUiPreferencePage.java
    org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java
    org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListToolTip.java
    org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/NewAttachmentPage.java
    org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/SynchronizeQueryJob.java
    org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java
    org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractRepositoryTaskEditor.java
    org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/RepositoryTaskEditorDropListener.java
Cherrypick from master 2008-02-26 05:36:35 UTC mkersten 'REOPENED - bug 201131: write New & Noteworthy for 2.x releases':
    org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/search/BugzillaSearchPage.java
    org.eclipse.mylyn.help.ui/doc/new.html
    org.eclipse.mylyn.help.ui/doc/overview.html
    org.eclipse.mylyn.help.ui/doc/toc.xml
    org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/RepositoryAttachment.java
    org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/RepositoryTaskAttribute.java
    org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AttachmentSizeFormatterTest.java
Cherrypick from e_3_3_m_2_x 2008-02-26 06:54:05 UTC spingel 'Version update':
    org.eclipse.mylyn-feature/feature.xml
    org.eclipse.mylyn.bugzilla-feature/feature.xml
    org.eclipse.mylyn.trac-feature/feature.xml
Delete:
    org.eclipse.mylyn-feature/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.mylyn-feature/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.mylyn-feature/.settings/org.eclipse.mylyn.tasks.ui.prefs
    org.eclipse.mylyn.bugzilla-feature/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.mylyn.bugzilla-feature/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.mylyn.bugzilla-feature/.settings/org.eclipse.mylyn.tasks.ui.prefs
    org.eclipse.mylyn.test-feature/.project
    org.eclipse.mylyn.test-feature/about.html
    org.eclipse.mylyn.test-feature/build.properties
    org.eclipse.mylyn.test-feature/epl-v10.html
    org.eclipse.mylyn.test-feature/feature.xml
    org.eclipse.mylyn.test-feature/license.html
    org.eclipse.mylyn.trac-feature/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.mylyn.trac-feature/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.mylyn.trac-feature/.settings/org.eclipse.mylyn.tasks.ui.prefs