From 114a878c64ce6f8223cfd22d76a20eb16d177e5e Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdevelop@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- doc/kdevelop/cvs.docbook | 139 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 doc/kdevelop/cvs.docbook (limited to 'doc/kdevelop/cvs.docbook') diff --git a/doc/kdevelop/cvs.docbook b/doc/kdevelop/cvs.docbook new file mode 100644 index 00000000..ccdce4e6 --- /dev/null +++ b/doc/kdevelop/cvs.docbook @@ -0,0 +1,139 @@ + +Using &CVS; +CVS +revision control + + +&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 (⪚ &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; () or TkCVS (). 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 +. + + + + + + + +&CVS; Commands in &kdevelop; + + +In the file views, the following context menu items are available: + + + + +Add to Repository + +Prepares the marked file for addition to the repository. The file +is transferred to the repository when you commit it (or the containing +directory) the next time. + + + + + +Remove from Repository + + +Prepares a file for removal from the repository. This also deletes +the file on the local file system, so use this feature with care! + + + + + +Update + + +Runs cvs update to merge any changes from other +users into your working directory. When you use this menu item over +a directory, the update normally happens recursively, except if you +have disabled this in the configuration file .cvsrc. + + + + + +Commit + + +Runs cvs commit to upload any locally made changes +to the repository. Note that you should update before doing this. +Otherwise, when another user has committed his own changes before, +&CVS; may give you an error message. + + + + + + +All these commands are invoked as subprocesses by &kdevelop; without any +further command line options or environment variables. This may be a +problem when the connection with the &CVS; server goes through a +&ssh; connection and requires that you enter your password each time +you commit or update. This is for instance necessary when your project is +hosted on sourceforge.net. Workarounds for this +problem are described on the &CVS;/SSH FAQ which you can find in the +SourceForge documentation. + + + + + + + +Behind the Scenes + + +What &CVS; Records in the Working Directory + + +(... to be written ...) + + + + + + -- cgit v1.2.3