This link has been bookmarked by 140 people . It was first bookmarked on 02 Mar 2006, by Constantin Orasan.
-
18 Jun 17
kevino$Date$ ==> date of last commit, expands to ==> $Date: 1999/07/26 06:39:46 $ $Id$ ==> filename, revision, date, and author; expands to ==> $Id: hello.c,v 1.11 1999/07/26 06:39:46 jrandom Exp $ $Revision$ ==> exactly what you think it
-
12 Dec 14
-
12 Aug 13
-
04 Mar 12
-
16 Nov 11
-
03 Sep 10
-
20 Aug 10
-
12 Apr 10
-
record keeping and collaboration
-
Restoring the state poses no difficulty if the source code history is kept under CVS.
-
Give me the program as it was three weeks ago
-
revision control on my coding projects now - it's saved me many times.
-
CVS doesn't provide (or at least, doesn't encourage): file locking.
-
Rather than requiring that developers coordinate with each other to avoid conflicts, CVS enables developers to edit simultaneously,
-
assumes the burden of integrating all the changes, and keeps track of any conflicts.
-
copy-modify-merge model
-
Developer A requests a working copy
-
This is also known as "checking out"
-
Developer A edits freely in her working copy.
-
Developer A finishes her changes and commits them into CVS along with a "log message", which is a comment explaining the nature and purpose of the changes.
-
Meanwhile, other developers can have CVS query the library to see if the master copy has changed recently. If it has, CVS automatically updates their working copies.
-
One common strategy for coding projects is to always update before commencing work on a major change and to commit only when the changes are complete and tested so that the master copy is always in a "runnable" state.
-
As far as CVS is concerned, all developers on a project are equal.
-
This is called a conflict, and CVS notices it as soon as developer B tries to commit changes.
-
CVS announces that it has discovered a conflict and places conflict markers (easily recognizable textual flags) at the conflicting location in his copy.
-
Developer B must sort it all out and commit a new revision with the conflict resolved.
-
CVS only alerts the developers that there is a conflict; it's up to human beings to actually resolve it.
-
Perhaps the two developers will need to talk to each other to settle the issue
-
What about the master copy? In official CVS terminology, it is called the project's repository.
-
The repository is simply a file tree kept on a central server
-
Consider the following scenario:
-
However, if CVS realizes that some of B's files are out of date with respect to the repository's latest copies,
-
In order for CVS to serve up changes, in the correct sequence, to developers whose working copies may be out of sync by varying degrees, the repository needs to store all commits since the project's beginning. In practice, the CVS repository stores them all as successive diffs.
-
CVS is able to calculate the difference between the working copy's files and the current state of the repository, and is thereby able to bring the working copy up to date efficiently
-
This makes it easy for developers to view the project's history at any point and to revive even very old working copies.
-
intuitive means of implementing the necessary functionality. The process has the added benefit that, by using patch appropriately, CVS can reconstruct any previous state of the file tree and thus bring any working copy from one state to another. It can allow someone to check out the project as it looked at any particular time. It can also show the differences, in diff format, between two states of the tree without affecting someone's working copy.
-
storing diffs is a simple,
-
hus, the very features necessary to give convenient access to a project's history are also useful for providing a decentralized, uncoordinated developer team with the ability to collaborate on the project.
-
-
25 Mar 10
-
24 Mar 10
-
27 Oct 09
-
27 Jan 09
-
27 Oct 08
-
08 Sep 08
-
29 Aug 08
-
05 Aug 08
-
11 Jul 08
-
15 May 08
-
18 Apr 08
-
20 Mar 08
-
25 Feb 08
-
19 Feb 08
-
04 Jan 08
-
05 Nov 07
-
02 Oct 07
-
25 Sep 07
-
07 Sep 07
-
21 Aug 07
Cristian EscalanteThe modules File
In modules, you can define aliases and alternate groupings for projects in the repository.
-
09 Jul 07
-
21 Jun 07
-
14 Jun 07
-
03 Jun 07
-
21 May 07
-
24 Apr 07
-
12 Apr 07
-
03 Apr 07
n dThorough coverage of CVS, from basic checkout/commit to repository administration. One big 700KB page.
-
05 Mar 07
-
02 Mar 07
-
09 Feb 07
-
11 Jan 07
-
26 Dec 06
-
20 Nov 06
-
18 Nov 06
-
01 Nov 06
-
03 Oct 06
-
24 Sep 06
-
31 Aug 06
-
07 Aug 06
-
31 Jul 06
-
15 Jul 06
Jay DuggerThe complete Open Source Development with CVS, 3rd Edition is available under the GNU General Public License:
-
03 Jun 06
-
24 Apr 06
-
22 Apr 06
-
20 Apr 06
-
15 Apr 06
-
12 Apr 06
-
14 Feb 06
-
05 Feb 06
-
01 Feb 06
-
25 Jan 06
-
11 Jan 06
-
28 Dec 05
-
27 Nov 05
-
05 Nov 05
-
04 Nov 05
-
31 Oct 05
-
24 Oct 05
-
21 May 05
-
01 Mar 05
-
This manual describes how to use and administer CVS (Concurrent Versions System). It is part of a larger work entitled Open Source Development With CVS; please see the introduction for details.
-
-
28 Feb 05
-
09 Feb 05
-
08 Feb 05
-
This manual describes how to use and administer CVS (Concurrent Versions System).
-
-
22 Nov 04
-
05 Oct 04
-
15 Mar 04
Page Comments
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.