17.2. CVS Organization

CVS has two important organizational features: modules and branches. Modules divide the repository into categories based on function; a module might contain an application, a library, or even one of the KDE Web sites. Branches divide the repository into categories based on the version allowing for concurrent development of multiple versions.

17.2.1. Module Names

Modules are given names that correspond to same-level nodes in a tree, like subdirectories all residing in the same parent directory. In fact, each module contains files and directories and is stored in a single directory on your local disk by the cvs client when it is downloaded. The modules are described in Table 17.1.

Table 17.1. Current KDE CVS Modules

Module NameDescription
kde-commonSupport files needed by most other modules.
kdesupportLibraries not created as part of KDE but needed to run it.
kdelibsThe KDE class libraries.
kdebaseApplications that form the desktop: kfm, kpanel, and so on.
kdeutilsUtility programs such as KWrite, KCalc, and KFloppy.
kde-i18nTranslations of KDE applications.
kdeadminSystem-administration utilities.
kdegraphicsFile-viewing applications for ostscript, dvi, JPEG, and so on.
kdemultimediaAudio applications.
kdenetworkInternet-related utilities.
kdebindingsAlpha code for Python-KDE bindings.
kdegamesGames for KDE, such as kasteroids, kpat, and so on.
kdenonbetaProjects not yet ready for inclusion in KDE.
kdesdkThe KDE Software Developer's Kit.
kdetoysFun KDE programs such as kmoon, which graphically indicates the phase of the moon.
kdevelopAn integrated development environment (IDE) for KDE.
kfteA programmer's editor.
klyxA system for editing, viewing, and typesetting documents using LaTeX.
kmusicMusic composition tools.
kofficeAn office suit including kword, kspread, and kimageshop.
korganizerA personal information manager.

17.2.2. Branches

Whenever a new version of KDE is released, a CVS branch is marked with a text string identifier. These identifiers are used to keep track of multiple versions of KDE at one time. For example, KDE 2.0 could be developed while bug fixes and feature additions were made to KDE 1.0. The releases KDE 1.1, 1.1.1, and 1.1.2 were based on the KDE 1.1 branch (called KDE_1_1_BRANCH) while KDE 2.0 continued in the main CVS branch (called HEAD).