There are several ways to get the source for the Eclipse projects. Most developers are actually developing their own plug-ins and are interested in browsing the Eclipse source and using it during debugging. For this, you can either browse the [http://dev.eclipse.org/viewcvs/ CVS repository online] or use the source included in the [http://www.eclipse.org/downloads Eclipse SDK download]. The download contains source zips which can be attached to jars in the SDK's Java tooling and used for browsing and debugging.

+

{{Warning|Please note: CVS code repositories at Eclipse have been migrated to Git. Please see [[Git]]. }}

+

There are several ways to get the source for the Eclipse projects. Most developers are actually developing their own plug-ins and are interested in browsing the Eclipse source and using it during debugging. For this, you can either browse the [http://dev.eclipse.org/viewcvs/ CVS repository online] or use the source included in the Eclipse Classic download featured on the [http://www.eclipse.org/downloads Eclipse downloads page]. The download contains source zips which can be attached to jars in the SDK's Java tooling and used for browsing and debugging.

−

−

== Repository locations ==

−

−

As of September 21, 2005, there are new paths to access the Eclipse CVS repositories. Please update your CVS clients to reflect these new paths. Paths are listed below, in the CVS Repository Paths section.

== Anonymous CVS ==

== Anonymous CVS ==

+

{{Warning|Please note: CVS code repositories at Eclipse have been migrated to Git. Please see [[Git]]. }}

For people actually want to change Eclipse code but who do not have the required commit rights in that area, all elements of the Eclipse projects are available via anonymous access to the development CVS repository. Using anonymous access you can checkout code and modify it locally, but cannot write it back to the repository. This is handy if you would like to fix a bug or add a feature. Get the code via anonymous access, do your work and then pass the work on to a committer (in a patch attached to a bug report) for inclusion in the repository. Committers love to have bugs fixed for them!

For people actually want to change Eclipse code but who do not have the required commit rights in that area, all elements of the Eclipse projects are available via anonymous access to the development CVS repository. Using anonymous access you can checkout code and modify it locally, but cannot write it back to the repository. This is handy if you would like to fix a bug or add a feature. Get the code via anonymous access, do your work and then pass the work on to a committer (in a patch attached to a bug report) for inclusion in the repository. Committers love to have bugs fixed for them!

−

To use anonymous access from a running Eclipse platform, simply go to a Repository View and add a new CVS repository location. Use the following information to connect:

+

To use anonymous access from Eclipse, simply paste the repository location url in the "CVS repositories" view:

Note that the pserver protocol is only available to the anonymous user. All committers must use SSH to access the CVS repository if they wish to use their user id and password (i.e., if they want to write to the repository).

Note that the pserver protocol is only available to the anonymous user. All committers must use SSH to access the CVS repository if they wish to use their user id and password (i.e., if they want to write to the repository).

+

+

The repository is also made available for browsing at http://dev.eclipse.org/viewcvs/.

+

+

The Eclipse UI offers strong support for cvs checkout but you can also use the command line, e.g. you can checkout the plugin "org.eclipse.e4.ui.workbench3".

{{Warning|Please note: CVS code repositories at Eclipse have been migrated to Git. Please see [[Git]]. }}

Use the following repository paths to connect to the Eclipse projects:

Use the following repository paths to connect to the Eclipse projects:

{| style="width:60%;" border="0" cellpadding="2"

{| style="width:60%;" border="0" cellpadding="2"

Line 70:

Line 105:

|-

|-

| '''/cvsroot/technology''' || Technology project

| '''/cvsroot/technology''' || Technology project

+

|-

+

| '''/cvsroot/rt''' || Runtime project

|-

|-

| '''/cvsroot/tptp''' || TPTP project

| '''/cvsroot/tptp''' || TPTP project

Line 78:

Line 115:

|-

|-

| '''/cvsroot/stp''' || STP SOA tools project

| '''/cvsroot/stp''' || STP SOA tools project

+

|-

+

| '''/cvsroot/modeling''' || Modeling project

+

|-

+

|}

+

+

Other repository paths:

+

{| style="width:60%;" border="0" cellpadding="2"

+

| '''/cvsroot/org.eclipse''' || eclipse.org web sites

|-

|-

|}

|}

Line 93:

Line 138:

For more details on these mechanisms, please see the online help documentation included in the Eclipse SDK.

For more details on these mechanisms, please see the online help documentation included in the Eclipse SDK.

−

−

== Other CVS Clients ==

−

−

The Eclipse CVS repository is a standard CVS implementation. As such, you can use just about any CVS client to read/write resources from/to the repository. There are however a number of files maintained in the workspace which contain Eclipse metadata (e.g., project definitions, Java classpath information). These files are written locally by Eclipse tools and then persisted in the the CVS repository. If you are using third party CVS clients, these resources may get out of date or inconsistent.

−

−

−

== CVS and firewalls ==

−

−

Since some developers are behind firewalls which block access to hosts on tcp port 22 (ssh) or cvs pserver (2401), eclipse.org provides a redirection host which may be used in some cases to work around these restrictions. This host may be used if your firewall passes traffic on ports 80 or 443. This host cannot be used if you are behind a transparent proxy.

−

−

Host access may be tested in the following manner, by using a command prompt (Start/Run/CMD on Windows)

−

−

For committer extssh access:

−

telnet proxy.eclipse.org 443

−

−

−

For anonymous CVS services:

−

telnet proxy.eclipse.org 80

−

−

−

A successful connection will look similar to the following; any connection log that shows a mangled response or doesn't allow a connection would be considered a failure:

−

−

−

bash-3.00$ telnet proxy.eclipse.org 80

−

Trying 206.191.52.48...

−

Connected to proxy.eclipse.org.

−

Escape character is '^]'.

+

== Other CVS Clients ==

−

=== Anonymous CVS Setup using a Firewall ===

+

The Eclipse CVS repository is a standard CVS implementation. As such, you can use just about any CVS client to read/write resources from/to the repository. There are however a number of files maintained in the workspace which contain Eclipse metadata (e.g., project definitions, Java classpath information). These files are written locally by Eclipse tools and then persisted in the CVS repository. If you are using third party CVS clients, these resources may get out of date or inconsistent.

−

[[Image:CVS_pserver_proxy_connection.jpg]]

+

A checkout of a CVS repository created by Eclipse with the <tt>extssh</tt> protocol is, however, in nonstandard format. Not all CVS clients understand the reference to the <tt>extssh</tt> protocol in the <tt>CVS/Root</tt> files. In particular, the [http://www.nongnu.org/cvs/ Unix CVS client] ([http://ftp.gnu.org/non-gnu/cvs/ download]), in its versions 1.11.22 and 1.12.13, gives an error message <tt>Unknown method (`extssh') in CVSROOT.</tt> This is a problem for you if you want to monitor and update a checkout with both Eclipse and the command-line <tt>cvs</tt> program. To get a version of <tt>cvs</tt> that supports the <tt>extssh</tt> protocol notation, you need this [http://lists.gnu.org/archive/html/bug-cvs/2005-11/msg00058.html patch for the 1.11.x series] or this [http://lists.gnu.org/archive/html/bug-cvs/2008-01/msg00007.html patch for the 1.12.x series] or the newest sources from the <tt>cvs</tt> CVS. Alternatively, you can use distinct checkouts: one for use with Eclipse, and one for use with the command-line tool.

Revision as of 08:40, 16 January 2013

Please note: CVS code repositories at Eclipse have been migrated to Git. Please see Git.

There are several ways to get the source for the Eclipse projects. Most developers are actually developing their own plug-ins and are interested in browsing the Eclipse source and using it during debugging. For this, you can either browse the CVS repository online or use the source included in the Eclipse Classic download featured on the Eclipse downloads page. The download contains source zips which can be attached to jars in the SDK's Java tooling and used for browsing and debugging.

Contents

Anonymous CVS

Please note: CVS code repositories at Eclipse have been migrated to Git. Please see Git.

For people actually want to change Eclipse code but who do not have the required commit rights in that area, all elements of the Eclipse projects are available via anonymous access to the development CVS repository. Using anonymous access you can checkout code and modify it locally, but cannot write it back to the repository. This is handy if you would like to fix a bug or add a feature. Get the code via anonymous access, do your work and then pass the work on to a committer (in a patch attached to a bug report) for inclusion in the repository. Committers love to have bugs fixed for them!

To use anonymous access from Eclipse, simply paste the repository location url in the "CVS repositories" view:

:pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse

The Eclipse platform project

:pserver:anonymous@dev.eclipse.org:/cvsroot/tools

Tools project

:pserver:anonymous@dev.eclipse.org:/cvsroot/webtools

Web Tools Platform project

:pserver:anonymous@dev.eclipse.org:/cvsroot/birt

BIRT project

:pserver:anonymous@dev.eclipse.org:/cvsroot/technology

Technology project

:pserver:anonymous@dev.eclipse.org:/cvsroot/rt

Runtime project

:pserver:anonymous@dev.eclipse.org:/cvsroot/tptp

TPTP project

:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp

DSDP project

:pserver:anonymous@dev.eclipse.org:/cvsroot/datatools

Data Tools project

:pserver:anonymous@dev.eclipse.org:/cvsroot/stp

STP SOA tools project

:pserver:anonymous@dev.eclipse.org:/cvsroot/modeling

Modeling project

:pserver:anonymous@dev.eclipse.org:/cvsroot/mylyn

Mylyn project

:pserver:anonymous@dev.eclipse.org:/cvsroot/org.eclipse

eclipse.org web sites

You can also create an anonymous CVS connection manually:

Host

dev.eclipse.org

Repository Paths

(See "Repository paths", below)

User

anonymous

Password

(leave blank)

Connection Type

pserver

From there you can browse the repository and add projects to your workspace. If you do some changes that you'd like to contribute, rather than committing the changes to the repository (which you can't do as the anonymous user), you should save a diff file and either mail it to a committer or post it on the relevant mailing list. Note that large files cannnot be posted to the mailing lists.

Note that the pserver protocol is only available to the anonymous user. All committers must use SSH to access the CVS repository if they wish to use their user id and password (i.e., if they want to write to the repository).

Committer access to CVS

Developers with commit rights have individual user ids and passwords in the Eclipse project development repository. As a committer you can use SSH (Secure SHell) to connect to the CVS repository as follows. Go to a Repository View and add a new CVS repository location. When asked for the repository location enter the following:

Committer CVS Connection Information

Host

dev.eclipse.org

Repository Paths

(See "Repository paths", below)

User

(your committer user id, supplied by the webmaster)

Password

(your committer password)

Connection Type

extssh

Once your information is authenticated, you can browse the repository and add projects to your workspace. If you do some changes that you'd like to contribute, after testing and ensuring that you have followed the contribution guidelines, you are free to release your changes to the repository. Of course, you can only release changes to projects for which you have commit rights.

Note that you can use the SSH protocol and your Eclipse user id to access projects for which you are not a committer but you will not be able to release changes.

CVS Repository Paths

Please note: CVS code repositories at Eclipse have been migrated to Git. Please see Git.

Use the following repository paths to connect to the Eclipse projects:

/cvsroot/eclipse

The Eclipse platform project

/cvsroot/tools

Tools project

/cvsroot/webtools

Web Tools Platform project

/cvsroot/birt

BIRT project

/cvsroot/technology

Technology project

/cvsroot/rt

Runtime project

/cvsroot/tptp

TPTP project

/cvsroot/dsdp

DSDP project

/cvsroot/datatools

Data Tools project

/cvsroot/stp

STP SOA tools project

/cvsroot/modeling

Modeling project

Other repository paths:

/cvsroot/org.eclipse

eclipse.org web sites

Using Eclipse and CVS

In general, each Eclipse plug-in corresponds to a CVS module of the same name in the repository. These modules are further grouped using CVS module aliases. A module alias is a virtual module which stands in for several other modules. In the Eclipse repository, each component has a module alias which references the plug-in projects/modules which are part of the component. For example, the Platform's Core component has an alias called platform-core which references all of the Core's plug-in projects/modules (e.g., org.eclipse.core.runtime, org.eclipse.core.resourses,...). There are also module aliases for each component's tests and examples. The module aliases have been elided if there is nothing to reference (e.g, if there are no examples). The CVS support in Eclipse supports loading and filtering using these module aliases.

Most open source CVS repositories do not enable the history file mechanism for recording repository operations since it is too costly. As a result, users must explicitly know and state the CVS tags they wish to use when looking at the repository. Eclipse manifests CVS tags in two ways; as version labels and as stream (CVS branch) labels. Rather than having to remember and manually enter these values, Eclipse can discover them for you.

Users can choose a specific file in the repository and then ask Eclipse to add all of the version or stream labels on that file to the repository explorer's view. Users can then select a stream or version and navigate to other resources which are simiarly tagged.

The auto-discovery mechanism can be costly in some situations so Eclipse also supports the explicit declaration of version and stream (CVS branch) tags. Again using the repository explorer users can define a project version label or a stream name (both of which correspond to CVS tags). The repository explorer will then use these as the context in which to browse the repository.

For more details on these mechanisms, please see the online help documentation included in the Eclipse SDK.

Other CVS Clients

The Eclipse CVS repository is a standard CVS implementation. As such, you can use just about any CVS client to read/write resources from/to the repository. There are however a number of files maintained in the workspace which contain Eclipse metadata (e.g., project definitions, Java classpath information). These files are written locally by Eclipse tools and then persisted in the CVS repository. If you are using third party CVS clients, these resources may get out of date or inconsistent.

A checkout of a CVS repository created by Eclipse with the extssh protocol is, however, in nonstandard format. Not all CVS clients understand the reference to the extssh protocol in the CVS/Root files. In particular, the Unix CVS client (download), in its versions 1.11.22 and 1.12.13, gives an error message Unknown method (`extssh') in CVSROOT. This is a problem for you if you want to monitor and update a checkout with both Eclipse and the command-line cvs program. To get a version of cvs that supports the extssh protocol notation, you need this patch for the 1.11.x series or this patch for the 1.12.x series or the newest sources from the cvs CVS. Alternatively, you can use distinct checkouts: one for use with Eclipse, and one for use with the command-line tool.