tree f4b521f666be5ff68010ca55a816cd2755f95409
parent c384f55cee19fe897d6ac2b94b41329b01ddedcb
author cvs2svn <ptp-dev@eclipse.org> 1297810925 +0000
committer cvs2svn <ptp-dev@eclipse.org> 1297810925 +0000

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

Sprout from ptp_4_0 2011-02-15 23:02:04 UTC Alan Humphrey <ahumphrey@sci.utah.edu> 'Applying patch (attachment #189055) for bug 337165 to ptp_4_0 branch.'
Delete:
    core/org.eclipse.ptp.core.tests/.classpath
    core/org.eclipse.ptp.core.tests/.project
    core/org.eclipse.ptp.core.tests/.settings/org.eclipse.jdt.core.prefs
    core/org.eclipse.ptp.core.tests/META-INF/MANIFEST.MF
    core/org.eclipse.ptp.core.tests/build.properties
    core/org.eclipse.ptp.core.tests/plugin.properties
    core/org.eclipse.ptp.core.tests/src/org/eclipse/ptp/core/tests/AttributeIndexSetTests.java
    core/org.eclipse.ptp.core.tests/src/org/eclipse/ptp/core/tests/RangeSetTests.java
    core/org.eclipse.ptp.core.tests/src/org/eclipse/ptp/core/tests/suite/CoreTestSuite.java
    core/org.eclipse.ptp.remote.core.tests/.classpath
    core/org.eclipse.ptp.remote.core.tests/.project
    core/org.eclipse.ptp.remote.core.tests/.settings/org.eclipse.jdt.core.prefs
    core/org.eclipse.ptp.remote.core.tests/META-INF/MANIFEST.MF
    core/org.eclipse.ptp.remote.core.tests/build.properties
    core/org.eclipse.ptp.remote.core.tests/plugin.properties
    core/org.eclipse.ptp.remote.core.tests/src/org/eclipse/ptp/core/tests/FileStoreTests.java
    core/org.eclipse.ptp.remote.core.tests/src/org/eclipse/ptp/core/tests/RemoteConnectionTests.java
    core/org.eclipse.ptp.remote.core.tests/src/org/eclipse/ptp/core/tests/RemoteToolsTests.java
    core/org.eclipse.ptp.remote.core.tests/src/org/eclipse/ptp/core/tests/SFTPTests.java
    core/org.eclipse.ptp.remote.core.tests/src/org/eclipse/ptp/remote/core/tests/suite/RemoteCoreTestSuite.java
    core/org.eclipse.ptp.utils.core.tests/.classpath
    core/org.eclipse.ptp.utils.core.tests/.project
    core/org.eclipse.ptp.utils.core.tests/.settings/org.eclipse.jdt.core.prefs
    core/org.eclipse.ptp.utils.core.tests/META-INF/MANIFEST.MF
    core/org.eclipse.ptp.utils.core.tests/build.properties
    core/org.eclipse.ptp.utils.core.tests/plugin.properties
    core/org.eclipse.ptp.utils.core.tests/src/org/eclipse/ptp/utils/core/tests/ArgumentParserTests.java
    core/org.eclipse.ptp.utils.core.tests/src/org/eclipse/ptp/utils/core/tests/suite/UtilsCoreTestSuite.java
    debug/org.eclipse.ptp.debug.core.tests/.classpath
    debug/org.eclipse.ptp.debug.core.tests/.project
    debug/org.eclipse.ptp.debug.core.tests/.settings/org.eclipse.jdt.core.prefs
    debug/org.eclipse.ptp.debug.core.tests/META-INF/MANIFEST.MF
    debug/org.eclipse.ptp.debug.core.tests/build.properties
    debug/org.eclipse.ptp.debug.core.tests/plugin.properties
    debug/org.eclipse.ptp.debug.core.tests/src/org/eclipse/ptp/debug/core/tests/AIFTests.java
    debug/org.eclipse.ptp.debug.core.tests/src/org/eclipse/ptp/debug/core/tests/TaskSetTests.java
    debug/org.eclipse.ptp.debug.core.tests/src/org/eclipse/ptp/debug/core/tests/suite/DebugCoreTestSuite.java
    rdt/org.eclipse.ptp.rdt.ui.tests/.classpath
    rdt/org.eclipse.ptp.rdt.ui.tests/.project
    rdt/org.eclipse.ptp.rdt.ui.tests/.settings/org.eclipse.jdt.core.prefs
    rdt/org.eclipse.ptp.rdt.ui.tests/META-INF/MANIFEST.MF
    rdt/org.eclipse.ptp.rdt.ui.tests/build.properties
    rdt/org.eclipse.ptp.rdt.ui.tests/fixtures/navigation_test_project/test.c
    rdt/org.eclipse.ptp.rdt.ui.tests/fixtures/navigation_test_project/test.h
    rdt/org.eclipse.ptp.rdt.ui.tests/suite/org/eclipse/ptp/rdt/ui/tests/RDTUITestPlugin.java
    rdt/org.eclipse.ptp.rdt.ui.tests/suite/org/eclipse/ptp/rdt/ui/tests/suite/UIBasicTestSuite.java
    rdt/org.eclipse.ptp.rdt.ui.tests/suite/org/eclipse/ptp/rdt/ui/tests/suite/UIConnectionTestSuite.java
    rdt/org.eclipse.ptp.rdt.ui.tests/test/org/eclipse/ptp/rdt/ui/tests/navigation/NavigationTests.java
    releng/org.eclipse.ptp.releng/.cvsignore
    releng/org.eclipse.ptp.releng/.project
    releng/org.eclipse.ptp.releng/addDownloadStats.xsl
    releng/org.eclipse.ptp.releng/build.sh
    releng/org.eclipse.ptp.releng/build.xml
    releng/org.eclipse.ptp.releng/buildsite.xml
    releng/org.eclipse.ptp.releng/index.html
    releng/org.eclipse.ptp.releng/maps/photran.map
    releng/org.eclipse.ptp.releng/maps/ptp.map
    releng/org.eclipse.ptp.releng/master/build.properties
    releng/org.eclipse.ptp.releng/master/customTargets.xml
    releng/org.eclipse.ptp.releng/pack.properties
    releng/org.eclipse.ptp.releng/ptpbuild
    releng/org.eclipse.ptp.releng/update_versions
    releng/org.eclipse.ptp.releng/web/site.css
    releng/org.eclipse.ptp.releng/web/site.xsl
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/.classpath
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/.project
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/.settings/org.eclipse.jdt.core.prefs
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/META-INF/MANIFEST.MF
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/build.properties
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/data/sample.c
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/data/sample.xml
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/icons/feedback_action.gif
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/icons/feedback_view.gif
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/icons/sample.gif
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/plugin.xml
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/src/org/eclipse/ptp/etfw/feedback/sample/Activator.java
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/src/org/eclipse/ptp/etfw/feedback/sample/SampleFeedbackItem.java
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/src/org/eclipse/ptp/etfw/feedback/sample/SampleFeedbackParser.java
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/src/org/eclipse/ptp/etfw/feedback/sample/SampleFeedbackView.java
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/src/org/eclipse/ptp/etfw/feedback/sample/SampleShowFeedbackHandler.java
    tools/etfw/org.eclipse.ptp.etfw.feedback.sample/src/org/eclipse/ptp/etfw/feedback/sample/actions/SampleFeedbackAction.java