docs.kde.org
Using CVS
Prev
Next

Chapter 13. Using CVS

Table of Contents

CVS Basics
CVS Commands in KDevelop
Behind the Scenes
What CVS Records in the Working Directory

CVS Basics

CVS is the revision control system which many open source projects - including KDE — are using. It stores all sources codes in a central place, called the repository. From the repository, developers can check out a current version of the project or snapshots of it at arbitrary points of time. In contrast to some other revision control systems, it is not necessary to lock files one wants to work on. So development can be highly parallelized.

Whenever a developer has finished a task, he commits his code (accompanied by a log message). CVS takes the job to merge the changes made by several developers. It can of course happen that developers work on the same piece of code, resulting in a conflicting set of changes (in practice this occurs seldom, and is often a sign of a lack of communication). In this case CVS rejects a commit; only after all conflicts are resolved, a file can be committed.

So far, this has been a description of the basic features of CVS one usually has to cope with. But CVS can provide a lot more: One can maintain several branches of a project (e.g. KDE 1.1.2 and KDE 2 were branches in KDE's development tree), merge changes from one branch to another, ask for differences between revisions, the revision history of files etc.

CVS is implemented as a client-server system. As a user, all communication with the repository goes through the command line program CVS. A higher level user interface is available through frontends like Cervisia (http://cervisia.sf.net) or TkCVS (http://tkcvs.sf.net). In KDevelop, only a small part of the CVS functionality which is important for your daily work can be used directly.

Basic knowledge of CVS usage is assumed. In particular, you should know how to checkout a given project from the repository. We recommend the book “Open Source Development With CVS” by Karl Fogel which is freely distributed (except for the non-technical chapters). See http://cvsbook.red-bean.com/cvsbook.html.

Prev
Next
Home


docs.kde.org