Jump to: navigation, search

Difference between revisions of "CVS Development"

m
(Added plug-in and package descriptions)
Line 1: Line 1:
 
== Plug-ins ==
 
== Plug-ins ==
  
The CVS component contains the following plugins:
+
The CVS component contains the following plug-ins:
  
* [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.team.cvs.core org.eclipse.team.cvs.core]
+
* [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.team.cvs.core org.eclipse.team.cvs.core] - contains implementations of Team/Core API along with classes related to the Core component of the CVS functionality. Here is a summary by package:
* [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.team.cvs.ui org.eclipse.team.cvs.ui]
+
** org.eclipse.team.internal.ccvs.core - contains the CVS repository provider (CVSTeamProvider) and related classes along with the various Subscriber implementations (workspace, compare and merge). It also contains several interfaces related to CVS functionality.
* [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.team.cvs.ssh org.eclipse.team.cvs.ssh]
+
** org.eclipse.team.internal.ccvs.core.client - contains the classes related to running low level CVS commands (e.g update, commit).
* [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.team.cvs.ssh2 org.eclipse.team.cvs.ssh2]
+
** org.eclipse.team.internal.ccvs.core.client.listeners - contains listeners that enhance the features of various commands.
* [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.team.tests.cvs.core org.eclipse.team.tests.cvs.core]
+
** org.eclipse.team.internal.ccvs.core.connection - contains the code responsible for making server connections.
 +
** org.eclipse.team.internal.ccvs.core.filehistory - contains implementations related to the Team file history API.
 +
** org.eclipse.team.internal.ccvs.core.filesystem - contains an implementation of a CVS remote EFS.
 +
** org.eclipse.team.internal.ccvs.core.mapping - contains the CVS Change Set related classes.
 +
** org.eclipse.team.internal.ccvs.core.resources - contains implementations of the CVS resource API for both local and remote resource trees.
 +
** org.eclipse.team.internal.ccvs.core.syncinfo - contains the code related to synchronization information management (e.g. CVS meta-data).
 +
** org.eclipse.team.internal.ccvs.core.util - contains varius utilities classes
 +
* [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.team.cvs.ui org.eclipse.team.cvs.ui] - contains implementations of the Team/UI API along with classes for CVS specific functionality. Here is a summary by package:
 +
** org.eclipse.team.internal.ccvs.ui - contains various UI related classes.
 +
** org.eclipse.team.internal.ccvs.ui.actions - contains the main CVS actions.
 +
** org.eclipse.team.internal.ccvs.ui.console - contains the code related to the CVS console.
 +
** org.eclipse.team.internal.ccvs.ui.mappings - contains the actions, participants, etc. related to the logical model support.
 +
** org.eclipse.team.internal.ccvs.ui.model - contains the UI model used in the Repositories view and other CSV views and dialogs.
 +
** org.eclipse.team.internal.ccvs.ui.operations - contains the main CVS operations that correspond to the Core level commands found in the org.eclipse.team.internal.ccvs.core.client package.
 +
** org.eclipse.team.internal.ccvs.ui.repo - contains the classes related to the Repositories view.
 +
** org.eclipse.team.internal.ccvs.ui.subscriber - contains the code (actions, participants, etc.) for the non-model based Syncyhronizations.
 +
** org.eclipse.team.internal.ccvs.ui.tags - contains the code related to tag management
 +
** org.eclipse.team.internal.ccvs.ui.wizards - contains the code for various wizards
 +
* [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.team.cvs.ssh org.eclipse.team.cvs.ssh] - contains an implementation of SSH version 1 which is kept for compatibility with SSH 1 servers.
 +
* [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.team.cvs.ssh2 org.eclipse.team.cvs.ssh2] - provides the SSH version 2 (extssh) connection method. This plug-in uses the Jsch SSH2 library to provide SSH support.
 +
* [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.team.tests.cvs.core org.eclipse.team.tests.cvs.core] - contains the automated CVS tests
  
 
It also consists of a feature project
 
It also consists of a feature project

Revision as of 13:48, 24 January 2007

Plug-ins

The CVS component contains the following plug-ins:

  • org.eclipse.team.cvs.core - contains implementations of Team/Core API along with classes related to the Core component of the CVS functionality. Here is a summary by package:
    • org.eclipse.team.internal.ccvs.core - contains the CVS repository provider (CVSTeamProvider) and related classes along with the various Subscriber implementations (workspace, compare and merge). It also contains several interfaces related to CVS functionality.
    • org.eclipse.team.internal.ccvs.core.client - contains the classes related to running low level CVS commands (e.g update, commit).
    • org.eclipse.team.internal.ccvs.core.client.listeners - contains listeners that enhance the features of various commands.
    • org.eclipse.team.internal.ccvs.core.connection - contains the code responsible for making server connections.
    • org.eclipse.team.internal.ccvs.core.filehistory - contains implementations related to the Team file history API.
    • org.eclipse.team.internal.ccvs.core.filesystem - contains an implementation of a CVS remote EFS.
    • org.eclipse.team.internal.ccvs.core.mapping - contains the CVS Change Set related classes.
    • org.eclipse.team.internal.ccvs.core.resources - contains implementations of the CVS resource API for both local and remote resource trees.
    • org.eclipse.team.internal.ccvs.core.syncinfo - contains the code related to synchronization information management (e.g. CVS meta-data).
    • org.eclipse.team.internal.ccvs.core.util - contains varius utilities classes
  • org.eclipse.team.cvs.ui - contains implementations of the Team/UI API along with classes for CVS specific functionality. Here is a summary by package:
    • org.eclipse.team.internal.ccvs.ui - contains various UI related classes.
    • org.eclipse.team.internal.ccvs.ui.actions - contains the main CVS actions.
    • org.eclipse.team.internal.ccvs.ui.console - contains the code related to the CVS console.
    • org.eclipse.team.internal.ccvs.ui.mappings - contains the actions, participants, etc. related to the logical model support.
    • org.eclipse.team.internal.ccvs.ui.model - contains the UI model used in the Repositories view and other CSV views and dialogs.
    • org.eclipse.team.internal.ccvs.ui.operations - contains the main CVS operations that correspond to the Core level commands found in the org.eclipse.team.internal.ccvs.core.client package.
    • org.eclipse.team.internal.ccvs.ui.repo - contains the classes related to the Repositories view.
    • org.eclipse.team.internal.ccvs.ui.subscriber - contains the code (actions, participants, etc.) for the non-model based Syncyhronizations.
    • org.eclipse.team.internal.ccvs.ui.tags - contains the code related to tag management
    • org.eclipse.team.internal.ccvs.ui.wizards - contains the code for various wizards
  • org.eclipse.team.cvs.ssh - contains an implementation of SSH version 1 which is kept for compatibility with SSH 1 servers.
  • org.eclipse.team.cvs.ssh2 - provides the SSH version 2 (extssh) connection method. This plug-in uses the Jsch SSH2 library to provide SSH support.
  • org.eclipse.team.tests.cvs.core - contains the automated CVS tests

It also consists of a feature project

There is also a CVS mailing list

Bugs

Here's how to find bugs:

  • New bugs that require triage have a

Status of New or Reopened and are assigned to platform-cvs-inbox@eclipse.org

  • Bugs that are targeted for a particular release of milestones are tagged with that milestone.
  • Once triaged, Bugs are categorized in the following manner using the bracketed category identifier as a Summary prefix:
    • [Actions] - bugs that deal with CVS actions.
    • [Annotate View] - bugs that deal with the Annotate View
    • [Change Sets] - bugs that deal with Change Sets.
    • [Commands] - bugs that deal with the CVS command infrastrucutre.
    • [Connection] - bugs that deal with connecting to CVS
    • [Console View] - bugs that deal with the Console View.
    • [Decorators] - bugs that deal with CVS decorators.
    • [History] - bugs that deal with the CVS implementation of the History API
    • [History View] - bugs that deal with the CVS implementation of the History View page
    • [Misc] - bugs that defy categorization.
    • [Model Support] - bugs that deal with the model API
    • [Modules] - bugs that deal with CVS Modules
    • [Operations] - bugs that deal with CVS operations.
    • [Patch] - bugs that deal with Patching
    • [Preferences] - bugs that deal with the CVS preference page
    • [Repo View] - bugs that deal with the Repo View.
    • [Resources] - bugs that deal with CVS Resource
    • [Subscriber] - bugs that deal with the Subscriber API
    • [Sync Info] - bugs that deal with the Sync info infrastrcuture
    • [Sync View] - bugs that deal with the Sync View
    • [Tags] - bugs that deal with Tags
    • [Tests] - bugs that deal with CVS JUnit tests
    • [Watch/Edit] - bugs that deal with the Watch/Edit feature
    • [Wizards] - bugs that deal with the CVS Wizards

Testing

The 3.2 test plan provides many manual test scenarios.

Running the CVS Automated Tests using JUnit

Follow these steps to run the CVS tests:

  1. To load the Team/CVS test plug-ins, check out the following plug-ins from :pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse repository:
    • org.eclipse.test
    • org.eclipse.test.performance
    • org.eclipse.core.tests.harness
    • org.eclipse.core.tests.resources
    • org.eclipse.team.tests.core
    • org.eclipse.team.tests.cvs.core
  2. The CVS tests require a repository to test with so you will need to set up a test repository.
    • You can obtain the Linux flavour of CVS from here.
    • You can obtain the Windows flavour of CVS from here. Please refer to the this wiki entry on configuring CVSNT to work with Eclipse.
  3. The org.eclipse.team.tests.cvs.core contains a couple of sample launch configurations:
    • CVS UI Tests: runs the tests related to the CVS/UI plug-in configured for windows
    • CVS UI Tests (Linux): same as above but configured for Linux
    • CVS Core Tests: runs the tests related to the CVS/Core plug-in
  4. The Windows configuration is set up to use C:\eclipse as the test area. To configure the tests to use your test repository, perform the following steps:
    • copy the repository.properties file from the org.eclipse.team.tests.cvs.core plug-in to the C:\eclipse.
    • Open the file and modify the repository property to contain the location string that identifies your test repository. This string should be of the format :method:user:password@host:/repo/path (the other fields are used to tailor the tests in other ways but the defaults should work fine).
  5. From the Run menu, choose Run.. and then select CVS UI Tests to run the tests.

Links