Source Code Access

See also the Tips (for developers) subpage.

Source Code Repository

http://source.icu-project.org/repos/icu/ Simple top level view of the ICU repository for use with subversion.
http://bugs.icu-project.org/trac/browser Browse the repository with Trac to shows different revisions, compare revisions, annotated source and links to ticket descriptions.

Specific URLs to use in your subversion client. If you want a specific version of ICU, you should use one of the tagged releases (see below).



http://source.icu-project.org/repos/icu/data/ Auxilliary data items- not needed for normal ICU builds
http://source.icu-project.org/repos/icu/icu/ ICU for C/C++
http://source.icu-project.org/repos/icu/icu4j/ ICU for Java
http://source.icu-project.org/repos/icu/icu4jni/ ICU for Java Native Interface
http://source.icu-project.org/repos/icu/icuapps/ Samples and Demos
http://source.icu-project.org/repos/icu/icuhtml/ Used by the ICU development team for documentation work.
(Please use Docs & Papers to access ICU documentation.)
http://source.icu-project.org/repos/icu/tools/ Other tools used by the ICU development team. Not required for building ICU.

Subversion Client Information


http://subversion.tigris.org/ Subversion main web site. Subversion is used to access the ICU repository.
SvnTips Subversion tips from the ICU Wiki for ICU developers (not users).
Subversion Setup for ICU Subversion client configuration for developer access to the ICU Repository.

Tags, Branches and Trunks

Note: for details on how tags, branches, and trunks work, consult the Subversion documentation.

Under each of the above URLs, such as http://source.icu-project.org/repos/icu/icu/, there are three directories: branches, tags, and trunk. We will use the ICU (for C) directory as an example, but the same pattern applies to http://source.icu-project.org/repos/icu/icu4j/, and other subdirectories. For clarity, the http://source.icu-project.org/ has been omitted.

/repos/icu/icu/tags/ This directory contains a subdirectory for each "tagged" set of sources. For example, release-3-6 contains the tagged source for the final release 3.6, and release-3-4-1 contains release 3.4.1. Any tag containing other than "release" and numbers, is NOT a final release, and is not guaranteed to function or even compile. For example, release-3-0-d02 is a developmental release.
/repos/icu/icu/branches/ Branches are created by the ICU development team for temporary development work along an alternate code path. They may be created or deleted at any time. Code from this directory is not guaranteed to function or even compile. 
/repos/icu/icu/trunk/ The Trunk contains the latest code along the main line of development. Code from this directory is not guaranteed to function or even compile.
Check out this directory to obtain the latest developmental code. See "Build Status" for the status of the trunk.

Example of Retrieving a Specific Version of ICU

The following is a command line example of retrieving a specific version of ICU. In this case, ICU4C 3.6 and ICU4J 3.6 are being retrieved.

svn export http://source.icu-project.org/repos/icu/icu/tags/release-3-6/ icu
svn export http://source.icu-project.org/repos/icu/icu4j/tags/release-3-6/ icu4j

A Bit of History

The ICU project moved to using a Subversion source code repository and a Trac bug database on Nov 30, 2006. These replace our original CVS source code repository and Jitterbug bug data base. All history from the older systems has been migrated into the new, so there should normally be no need to refer back to Jitterbug or CVS.

Legal Notice: Time Zone Database

Subpages (1): Tips (for developers)
Comments