tree 8a3823d608d0f422a591e7fb9b3de8d8d1a3cea6
parent ebc2768817e6d5205a5e5e35c3cd1aa5a507fba3
author cvs2svn <ptp-dev@eclipse.org> 1293122559 +0000
committer cvs2svn <ptp-dev@eclipse.org> 1293122559 +0000

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

Sprout from ptp_4_0 2010-12-23 16:42:38 UTC Vivian Kong <vivkong@ca.ibm.com> 'Bug 332798 Header file fails to open when right click the header file and choose "open" in Outline view'
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