CVS — ÓÉÓÔÅÍÁ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÒÓÉÑÍÉ

Copyright (C) Alexey Mahotkin <alexm@hsys.msk.ru> 2001

üÔÁ ÓÔÁÔØÑ ÂÙÌÁ ×ÐÅÒ×ÙÅ ÏÐÕÂÌÉËÏ×ÁÎÁ
× ÖÕÒÎÁÌÅ "ðÒÏÇÒÁÍÍÉÓÔ", ÎÏÍÅÒ 2 ÚÁ 2001 ÇÏÄ.

úÁÐÒÅÝÁÅÔÓÑ ÐÅÒÅÐÅÞÁÔËÁ ÜÔÏÊ ÓÔÁÔØÉ ÂÅÚ ÐÉÓØÍÅÎÎÏÇÏ ÒÁÚÒÅÛÅÎÉÑ Á×ÔÏÒÁ.

<epigraph>
From: luke@jet.msk.su
Message-ID: <huuwvr9t1rz.fsf@jet.msk.su>

ðÒÁËÔÉËÁ ÐÏËÁÚÙ×ÁÅÔ, ÞÔÏ 99% ÐÒÏÇÒÁÍÍÉÓÔÏ× ÐÏÄ ïó õÉÎÄÏÕÚ ×ÅÄÕÔ ÒÁÚÒÁÂÏÔËÕ ÐÒÏÇÒÁÍÍ ÏÞÅÎØ ÓÔÒÁÎÎÙÍÉ ÓÐÏÓÏÂÁÍÉ -- ÐÒÏ version control ÏÎÉ ÄÁÖÅ ÎÅ ÄÏÇÁÄÙ×ÁÀÔÓÑ, ÐÒÁ×ÑÔ ÐÏ ÖÉ×ÏÍÕ, ÒÁÚ É ÎÁ×ÓÅÇÄÁ. îÁ ÐÒÏÓØÂÕ ×ÅÒÎÕÔØÓÑ Ë ÐÒÅÄÙÄÕÝÅÊ ×ÅÒÓÉÉ ÈÌÏÐÁÀÔ ÇÌÁÚÁÍÉ É ÇÏ×ÏÒÑÔ "Á ÍÙ ÕÖÅ ×Ó£ ÐÅÒÅÐÒÁ×ÉÌÉ!". ÷ ÏÂÝÅÍ, ËÕÌØÔÕÒÁ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ ÔÁÍ × ÍÁÓÓÅ Ó×ÏÅÊ ÎÁ ÕÒÏ×ÎÅ ÁÆÒÉËÁÎÓËÏÊ ÄÅÒÅ×ÎÉ.
</epigraph>

÷×ÅÄÅÎÉÅ

óÉÓÔÅÍÙ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÒÓÉÑÍÉ -- ËÌÁÓÓ ÐÒÏÇÒÁÍÍÎÙÈ ÐÒÏÄÕËÔÏ×, ÎÁÃÅÌÅÎÎÙÈ ÎÁ ÒÅÛÅÎÉÅ ÒÑÄÁ ÚÁÄÁÞ, Ó ËÏÔÏÒÙÍÉ ÐÏ×ÓÅÄÎÅ×ÎÏ ÓÔÁÌËÉ×ÁÅÔÓÑ ËÁÖÄÙÊ ÐÒÏÇÒÁÍÍÉÓÔ. ó ÐÏÍÏÝØÀ ÓÉÓÔÅÍ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÒÓÉÑÍÉ ×Ù ÓÌÅÄÉÔÅ ÚÁ ÉÚÍÅÎÅÎÉÑÍÉ ËÏÄÁ ×ÁÛÅÇÏ ÐÒÏÇÒÁÍÍÎÏÇÏ ÐÒÏÄÕËÔÁ × ÈÏÄÅ ÅÇÏ ÒÁÚÒÁÂÏÔËÉ, É ÍÏÖÅÔÅ ÕÐÒÁ×ÌÑÔØ ÒÁÚÌÉÞÎÙÍÉ ÅÇÏ ÓÏÓÔÏÑÎÉÑÍÉ: ÎÏ×ÁÑ ×ÅÒÓÉÑ, ÒÁÂÏÔÁ ÎÁÄ ËÏÔÏÒÏÊ ÉÄÅÔ ÐÒÑÍÏ ÓÅÊÞÁÓ; ÓÔÁÒÁÑ ×ÅÒÓÉÑ, ËÏÔÏÒÕÀ ÐÒÉÄÅÔÓÑ ÐÏÄÄÅÒÖÉ×ÁÔØ ÅÝÅ ÎÅËÏÔÏÒÏÅ ×ÒÅÍÑ; ÉÌÉ ÖÅ ÓÔÁÒÁÑ ×ÅÒÓÉÑ, ÉÎÔÅÒÅÓÎÁÑ ÔÏÌØËÏ ÉÓÔÏÒÉËÁÍ.

ðÒÏÇÒÁÍÍÉÓÔÙ, ÞØÉ ÉÓÈÏÄÎÉËÉ ËÏÎÔÒÏÌÉÒÕÀÔÓÑ ÓÉÓÔÅÍÏÊ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÒÓÉÑÍÉ, ÞÅÍ-ÔÏ ÎÅÕÌÏ×ÉÍÏ ÏÔÌÉÞÁÀÔÓÑ ÏÔ ÏÓÔÁÌØÎÙÈ ÐÒÏÇÒÁÍÍÉÓÔÏ×. ïÎÉ × ËÁÖÄÙÊ ÍÏÍÅÎÔ ÒÁÂÏÞÅÇÏ ÄÎÑ ÔÏÞÎÏ ÚÎÁÀÔ, ÞÔÏ ÉÍÅÎÎÏ ÂÙÌÏ ÓÄÅÌÁÎÏ ÚÁ ÄÅÎØ, Á ÐÏÓÌÅ ÉÓÐÒÁ×ÌÅÎÉÑ ÏÛÉÂËÉ ÍÏÇÕÔ ÔÏÞÎÏ ÓËÁÚÁÔØ, × ËÁËÏÍ ÉÍÅÎÎÏ ÍÅÓÔÅ ËÏÄÁ ÂÙÌÁ ÏÛÉÂËÁ. ïÎÉ ÎÅ ÐÏÄ×ÅÒÖÅÎÙ ÓÉÎÄÒÏÍÕ "ÒÁÂÏÔÁÅÔ -- ÎÅ ÔÒÏÇÁÊ", ÐÏÔÏÍÕ ÞÔÏ ÍÏÇÕÔ ÓÏ×ÅÒÛÅÎÎÏ ÂÅÚÂÏÌÅÚÎÅÎÎÏ ÕÄÁÒÑÔØÓÑ × ÓÁÍÙÅ ÓÌÏÖÎÙÅ ÜËÓÐÅÒÉÍÅÎÔÙ ÓÏ Ó×ÏÅÊ ÐÒÏÇÒÁÍÍÏÊ. ïÎÉ Ô×ÅÒÄÏ ÚÎÁÀÔ, ÞÔÏ × ÌÀÂÏÊ ÍÏÍÅÎÔ ÍÏÇÕÔ ×ÅÒÎÕÔØÓÑ Ë "ÉÓÈÏÄÎÉËÁÍ, ËÏÔÏÒÙÅ ÒÁÂÏÔÁÌÉ", ÓËÏÌØËÏ ÂÙ ÜËÓÐÅÒÉÍÅÎÔÏ× Ó ÎÏ×ÙÍ ËÏÄÏÍ ÎÉ ÂÙÌÏ ÐÒÏ×ÅÄÅÎÏ. âÏÌÅÅ ÔÏÇÏ, ÅÓÌÉ ÐÏÌØÚÏ×ÁÔÅÌØ ×ÄÒÕÇ ÚÁÈÏÞÅÔ ÎÅÂÏÌØÛÏÅ, ËÒÏÛÅÞÎÏÅ ÉÚÍÅÎÅÎÉÅ, ËÏÇÄÁ ÐÒÏÇÒÁÍÍÁ ÎÁÈÏÄÉÔÓÑ × ÍÎÏÇÏÏÂÅÝÁÀÝÅÍ, ÎÏ ÓÏ×ÅÒÛÅÎÎÏ ÎÅÒÁÂÏÞÅÍ ÓÏÓÔÏÑÎÉÉ, ÔÏ ×ÓÅ, ÞÔÏ ÄÌÑ ÜÔÏÇÏ ÐÏÔÒÅÂÕÅÔÓÑ -- ÐÅÒÅËÌÀÞÉÔØÓÑ ÎÁ ÓÔÁÂÉÌØÎÕÀ ×ÅÔËÕ, ÉÓÐÒÁ×ÉÔØ ÔÁÍ, ÞÔÏ ÎÁÄÏ É ÏÔÄÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÀ, ÚÁÔÅÍ ÐÅÒÅËÌÀÞÉÔØÓÑ ÏÂÒÁÔÎÏ ÎÁ ÓÔ×ÏÌ ÒÁÚÒÁÂÏÔËÉ.

÷ ÜÔÏÊ ÓÔÁÔØÅ ÒÅÞØ ÐÏÊÄÅÔ Ï CVS (Concurrent Versions System) -- ÏÄÎÏÊ ÉÚ ÓÉÓÔÅÍ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÒÓÉÑÍÉ, ÓÕÝÅÓÔ×ÕÀÝÉÈ ÎÁ ÒÙÎËÅ. ñ ×ÐÅÒ×ÙÅ ÎÁÞÁÌ ÉÓÐÏÌØÚÏ×ÁÔØ CVS ÏËÏÌÏ ÔÒÅÈ ÌÅÔ ÎÁÚÁÄ, ÐÒÏÇÒÁÍÍÉÒÕÑ ÎÁ Delphi, ÎÏ ÉÍÅÑ ÄÏ×ÏÌØÎÏ ÐÌÏÔÎÙÊ ÏÐÙÔ ÒÁÂÏÔÙ ÐÏÄ Linux. ó ÔÅÈ ÐÏÒ Ñ ÓÍÅÎÉÌ ÏÂÌÁÓÔØ ÄÅÑÔÅÌØÎÏÓÔÉ ÎÁ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÅ ÄÌÑ Web, ÕÞÁÓÔ×Ï×ÁÌ × ÐÒÏÅËÔÁÈ Ó ÎÅÓËÏÌØËÉÍÉ ÒÁÚÒÁÂÏÔÞÉËÁÍÉ, É ÉÓÐÏÌØÚÏ×ÁÌ CVS × ËÁÖÄÏÍ Ó×ÏÅÍ ÐÒÏÅËÔÅ, ÓËÏÌØ ÂÙ ÎÅ×ÅÌÉË ÏÎ ÂÙÌ, É ÄÁÖÅ ÓËÏÌØ ÍÁÌÏ ÏÎ ÂÙÌ ÂÙ Ó×ÑÚÁÎ Ó ÓÏÂÓÔ×ÅÎÎÏ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÅÍ. ðÒÉÚÎÁÔØÓÑ, ÓÅÊÞÁÓ Ñ ×ÏÏÂÝÅ ÎÅ ÐÒÅÄÓÔÁ×ÌÑÀ ÓÅÂÅ, ËÁË ÍÏÖÎÏ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÔØ, ÅÓÌÉ ÎÅ ËÏÎÔÒÏÌÉÒÕÅÛØ ÓÏÂÓÔ×ÅÎÎÙÅ ÉÓÈÏÄÎÉËÉ: ÄÁÖÅ ÜÔÏÔ ÎÅÂÏÌØÛÏÊ ÔÅËÓÔÏ×ÙÊ ÆÁÊÌ ÓÏ ÓÔÁÔØÅÊ ÕÖÅ ÉÍÅÅÔ ÒÅ×ÉÚÉÀ 1.1.

÷ ÌÕÞÛÉÈ ÔÒÁÄÉÃÉÑÈ UNIX, CVS ÚÁÎÉÍÁÅÔÓÑ ÏÔÎÏÓÉÔÅÌØÎÏ ÎÅÂÏÌØÛÉÍ, ÞÅÔËÏ ÏÐÒÅÄÅÌÅÎÎÙÍ ËÒÕÇÏÍ ÚÁÄÁÞ, É ÄÅÌÁÅÔ ÜÔÏ ÈÏÒÏÛÏ. ëÏÇÄÁ ×Ù ÎÁÞÎÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ CVS, ÔÏ ÚÁÍÅÔÉÔÅ, ÞÔÏ ÏÎÁ ÓÏ×ÅÒÛÅÎÎÏ ÎÅ "ÎÁÓÔÁÉ×ÁÅÔ" ÐÒÁËÔÉÞÅÓËÉ ÎÉ ÎÁ ÞÅÍ, ×ËÌÀÞÁÑ ÓÁÍ ÆÁËÔ Ó×ÏÅÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ. ÷ÓÅ, ÞÔÏ ×Ù ÏÂÎÁÒÕÖÉÔÅ -- ÏÄÉÎ ÓÌÕÖÅÂÎÙÊ ÐÏÄËÁÔÁÌÏÇ × ËÁÖÄÏÍ ËÁÔÁÌÏÇÅ ×ÁÛÅÇÏ ÐÒÏÅËÔÁ, É ËÕÞÁ ÐÒÅÉÍÕÝÅÓÔ× É ÕÓÌÕÇ, ËÏÔÏÒÙÅ ÐÒÅÄÏÓÔÁ×ÉÔ CVS, ÅÓÌÉ ÄÁÔØ ÅÍÕ ÜÔÕ ×ÏÚÍÏÖÎÏÓÔØ.

ïÂÚÏÒ ×ÏÚÍÏÖÎÏÓÔÅÊ

ðÏ×ÓÅÄÎÅ×ÎÏÅ ÉÓÐÏÌØÚÏ×ÁÎÉÅ

åÓÌÉ ×ÁÛÁ ÏÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ -- Linux, ÔÏ, ÓËÏÒÅÅ ×ÓÅÇÏ, CVS ÕÖÅ ÕÓÔÁÎÏ×ÌÅÎÁ ÎÁ ×ÁÛÅÊ ÍÁÛÉÎÅ ÉÌÉ ÖÅ ÍÏÖÅÔ ÂÙÔØ ÕÓÔÁÎÏ×ÌÅÎÁ × ÍÇÎÏ×ÅÎÉÅ ÏËÁ Ó ÐÏÍÏÝØÀ ÍÅÎÅÄÖÅÒÁ ÐÁËÅÔÏ×. åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ Windows, ÔÏ ÓÈÏÄÉÔÅ ÎÁ http://www.cvsgui.org/, É ÓËÁÞÁÊÔÅ ÔÁÍ ËÌÉÅÎÔÁ É ÇÒÁÆÉÞÅÓËÕÀ ÏÂÏÌÏÞËÕ Ë ÎÅÍÕ (ÅÓÌÉ ÈÏÔÉÔÅ). óÏÚÄÁÊÔÅ ÒÅÐÏÚÉÔÏÒÉÊ, ÒÕËÏ×ÏÄÓÔ×ÕÑÓØ ÉÎÓÔÒÕËÃÉÑÍÉ ÉÚ ÏÂÛÉÒÎÏÊ ÄÏËÕÍÅÎÔÁÃÉÉ Ë CVS.

ôÅÐÅÒØ ÎÁÞÎÅÍ ÓÏÚÄÁ×ÁÔØ ÇÄÅ-ÎÉÂÕÄØ × ÏÔÄÅÌØÎÏÍ ËÁÔÁÌÏÇÅ (ÎÅ ËÁÔÁÌÏÇÅ Ó ÒÅÐÏÚÉÔÏÒÉÅÍ) ÒÁÂÏÞÕÀ ËÏÐÉÀ. óÏÚÄÁÄÉÍ ËÁÔÁÌÏÇ ÄÌÑ ÎÁÛÅÇÏ ÐÒÏÅËÔÁ:

	$ cvs co -l .
	$ mkdir hello
É ÐÏÍÅÓÔÉÍ ÅÇÏ × ÒÅÐÏÚÉÔÏÒÉÊ:
	$ cvs add hello
	Directory /home/cvsroot/hello added to the repository
óÏÚÄÁÄÉÍ ×ÎÕÔÒÉ ÜÔÏÇÏ ËÁÔÁÌÏÇÁ ÆÁÊÌ Ó ÎÁÛÅÊ ÐÒÏÇÒÁÍÍÏÊ:
=== hello.c ===
#include <stdio.h>

int main() {
  printf("hello world\n");
}
=== hello.c ===
É ÐÏÍÅÓÔÉÍ ÜÔÏÔ ÆÁÊÌ ÐÏÄ ËÏÎÔÒÏÌØ ×ÅÒÓÉÊ:
	$ cvs add hello.c
	cvs add: scheduling file `hello.c' for addition
	cvs add: use 'cvs commit' to add this file permanently
ðÒÏ×ÅÒÉÍ, ÞÔÏ ÐÒÏÇÒÁÍÍÁ ËÏÍÐÉÌÉÒÕÅÔÓÑ É ×ÙÐÏÌÎÑÅÔÓÑ. õ ÎÁÓ ÐÏÑ×ÉÌÁÓØ ÐÅÒ×ÁÑ ÒÅ×ÉÚÉÑ, ×ÐÏÌÎÅ ÐÒÉÇÏÄÎÁÑ Ë ÐÏÍÅÝÅÎÉÀ × ÒÅÐÏÚÉÔÏÒÉÊ. óÄÅÌÁÅÍ ÖÅ ÜÔÏ:
	$ cvs commit -m "First revision" hello.c
	RCS file: /home/cvsroot/myproject/hello.c,v
	done
	Checking in hello.c;
	/home/cvsroot/myproject/hello.c,v  <--  hello.c
	initial revision: 1.1
	done

ïÔÌÉÞÎÏ. ôÅÐÅÒØ ÐÒÉÔ×ÏÒÉÍÓÑ, ÞÔÏ ÍÙ ÄÏÌÇÏ É ÔÒÕÄÎÏ ÒÁÂÏÔÁÌÉ, ÉÓÐÒÁ×ÌÑÑ ÇÒÁÍÍÁÔÉËÕ ÓÏÏÂÝÅÎÉÑ, ËÏÔÏÒÙÅ ×Ù×ÏÄÉÔ ÎÁ ÜËÒÁÎ ÎÁÛÁ ÐÒÏÇÒÁÍÍÁ, É × ÒÅÚÕÌØÔÁÔÅ ÎÁÛ ÉÓÈÏÄÎÉË ÎÁÞÉÎÁÅÔ ×ÙÇÌÑÄÅÔØ ÔÁË:

=== hello.c ===
#include <stdio.h>

int main() {
  printf("Hello, world!\n");
}
=== hello.c ===
þÔÏ ÖÅ ÉÚÍÅÎÉÌÏÓØ? óÐÒÏÓÉÍ Õ CVS:
	$ cvs diff -u hello.c
	Index: hello.c
	===================================================================
	RCS file: /home/cvsroot/myproject/hello.c,v
	retrieving revision 1.1
	diff -u -r1.1 hello.c
	--- hello.c     2001/01/23 22:16:35     1.1
	+++ hello.c     2001/01/23 22:19:08
	@@ -1,5 +1,5 @@
	 #include <stdio.h>
	 
	 int main() {
	-  printf("hello world\n");
	+  printf("Hello, world!\n");
	 }

÷ÏÔ × ÔÁËÏÍ ×ÏÔ ÆÏÒÍÁÔÅ ("ÕÎÉÆÉÃÉÒÏ×ÁÎÎÏÍ diff-ÆÏÒÍÁÔÅ") CVS ÐÏËÁÚÙ×ÁÅÔ ÎÁÍ ÉÚÍÅÎÅÎÉÑ, ÐÒÏÉÚÏÛÅÄÛÉÅ Ó ÆÁÊÌÏÍ Ó ÔÏÇÏ ÍÏÍÅÎÔÁ, ËÏÇÄÁ ÏÎ ÐÏÓÌÅÄÎÉÊ ÒÁÚ "ÆÉËÓÉÒÏ×ÁÌÓÑ" × ÒÅÐÏÚÉÔÏÒÉÊ. ìÅÇËÏ ×ÉÄÅÔØ, ÞÔÏ ÏÄÎÁ ÓÔÒÏËÁ × ÆÁÊÌÅ ÂÙÌÁ ÉÚÍÅÎÅÎÁ: ÍÙ ×ÉÄÉÍ ÅÅ ÓÔÁÒÏÅ É ÎÏ×ÏÅ ÓÏÓÔÏÑÎÉÑ. ôÅÐÅÒØ, ËÏÇÄÁ ÐÒÉ×ÅÔÓÔ×ÉÅÍ, ×Ù×ÏÄÉÍÙÍ ÐÒÏÇÒÁÍÍÏÊ, ÂÕÄÅÔ ÄÏ×ÏÌÅÎ ÌÀÂÏÊ ËÏÒÒÅËÔÏÒ, ÍÏÖÎÏ ÚÁÆÉËÓÉÒÏ×ÁÔØ É ÜÔÏ ÉÚÍÅÎÅÎÉÅ Ó ÐÏÍÏÝØÀ ×ÓÅ ÔÏÊ ÖÅ ËÏÍÁÎÄÙ:

	$ cvs commit -m "Improved greeting" hello.c

ïÐÉÓÁÎÉÅ ËÏÍÁÎÄ CVS ×ÙÈÏÄÉÔ ÚÁ ÒÁÍËÉ ÜÔÏÊ ÎÅÂÏÌØÛÏÊ ÓÔÁÔØÉ, ÎÏ × ËÏÎÃÅ ÅÅ ÐÒÉ×ÅÄÅÎÙ ÓÓÙÌËÉ ÎÁ ÍÁÔÅÒÉÁÌÙ, × ËÏÔÏÒÙÈ ÜÔÁ ÔÅÍÁ ÏÂÓÕÖÄÁÅÔÓÑ Ó ÎÅÄÏÓÔÉÖÉÍÏÊ ÚÄÅÓØ ÐÏÌÎÏÔÏÊ. ñ ÖÅ ×ÅÒÎÕÓØ Ë ÂÏÌÅÅ ÁÂÓÔÒÁËÔÎÏÍÕ ÏÐÉÓÁÎÉÀ ÓÏÓÕÝÅÓÔ×Ï×ÁÎÉÑ Ó ÓÉÓÔÅÍÏÊ ËÏÎÔÒÏÌÑ ×ÅÒÓÉÑ. ðÅÒ×ÏÅ ×ÒÅÍÑ, ÄÏ×ÏÌØÎÏ ÐÒÏÄÏÌÖÉÔÅÌØÎÏÅ, ÍÏÖÎÏ ÂÅÚÂÏÌÅÚÎÅÎÎÏ ÒÁÂÏÔÁÔØ Ó ÂÕË×ÁÌØÎÏ ÐÏÌÕÄÅÓÑÔËÏÍ ËÏÍÁÎÄ CVS: ÄÏÂÁ×ÌÅÎÉÅ ÆÁÊÌÁ × ÐÒÏÅËÔ (cvs add); ÕÄÁÌÅÎÉÅ ÅÇÏ ÉÚ ÐÒÏÅËÔÁ (cvs remove) (ÚÁÍÅÔØÔÅ, ÞÔÏ ×ÓÑ ÉÓÔÏÒÉÑ ÉÚÍÅÎÅÎÉÊ × ÜÔÏÍ ÆÁÊÌÅ ÂÕÄÅÔ ÓÏÈÒÁÎÅÎÁ!); ÐÒÏÓÍÏÔÒ ÉÚÍÅÎÅÎÉÊ (cvs diff); ÆÉËÓÁÃÉÑ ÉÚÍÅÎÅÎÉÊ × ÒÅÐÏÚÉÔÏÒÉÉ (cvs commit). îÁ ÄÏÌÖÎÏÓÔØ ÐÑÔÏÊ ËÏÍÁÎÄÙ × ÄÁÎÎÏÍ ÓÌÕÞÁÅ ÐÒÅÔÅÎÄÕÀÔ ÐÏÞÔÉ ×ÓÅ ÏÓÔÁÌØÎÙÅ ËÏÍÁÎÄÙ ÐÏÎÅÍÎÏÖËÕ.

äÌÑ ÐÏÌÕÞÅÎÉÑ ÍÁËÓÉÍÁÌØÎÏÇÏ ÜÆÆÅËÔÁ ÏÔ ÉÓÐÏÌØÚÏ×ÁÎÉÑ CVS ÓÌÅÄÕÅÔ ÓÏÂÌÀÄÁÔØ ÏÐÒÅÄÅÌÅÎÎÕÀ ÄÉÓÃÉÐÌÉÎÕ. æÉËÓÉÒÏ×ÁÎÉÅ ÉÚÍÅÎÅÎÉÊ ÄÏÌÖÎÏ ÐÒÏÉÓÈÏÄÉÔØ ËÁÖÄÙÊ ÒÁÚ, ËÏÇÄÁ ÎÁÌÉÞÅÓÔ×ÕÅÔ ÜÔÏ ÓÁÍÏÅ ÉÚÍÅÎÅÎÉÅ, ÞÅÔËÏ ÏÐÒÅÄÅÌÅÎÎÏÅ É ÚÁ×ÅÒÛÅÎÎÏÅ.

îÁÐÒÉÍÅÒ, ÓÁÍÙÊ ÒÁÓÐÒÏÓÔÒÁÎÅÎÎÙÊ ÓÌÕÞÁÊ: ÉÓÐÒÁ×ÌÅÎÁ ÏÛÉÂËÁ. óÌÅÄÕÅÔ ÐÒÏÓÍÏÔÒÅÔØ ÉÚÍÅÎÅÎÉÑ (× ÜÔÏÔ ÍÏÍÅÎÔ ×ÁÓ ÍÏÇÕÔ ÐÏÄÖÉÄÁÔØ ÓÁÍÙÅ ÌÀÂÏÐÙÔÎÙÅ ÓÀÒÐÒÉÚÙ: ÎÁÐÒÉÍÅÒ, ÐÏÓÌÅ ÍÎÏÇÏÞÁÓÏ×ÏÊ ÏÔÌÁÄËÉ ×ÄÒÕÇ ÍÏÖÅÔ ×ÙÑÓÎÉÔØÓÑ, ÞÔÏ ×ÓÅ ÉÚÍÅÎÅÎÉÅ Ó×ÅÌÏÓØ Ë Ä×ÕÍ ÓÔÒÏËÁÍ × Ä×ÕÈ ÒÁÚÎÙÈ ÆÁÊÌÁÈ, ÈÏÔØ ×Ù É ÒÅÄÁËÔÉÒÏ×ÁÌÉ ÄÅÓÑÔÏË ÜÔÉÈ ÆÁÊÌÏ× × ÐÏÉÓËÁÈ ÏÛÉÂËÉ). ôÅÐÅÒØ ÎÕÖÎÏ ÚÁÆÉËÓÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÅ, ÐÒÉÞÅÍ ÏÂÑÚÁÔÅÌØÎÏ ÄÏËÕÍÅÎÔÉÒÏ×ÁÔØ ÅÇÏ: CVS ÚÁÐÕÓÔÉÔ ÄÌÑ ×ÁÓ ÒÅÄÁËÔÏÒ É ÐÒÅÄÌÏÖÉÔ ××ÅÓÔÉ ÖÕÒÎÁÌØÎÏÅ ÓÏÏÂÝÅÎÉÅ. åÓÌÉ ×Ù ×ÄÏÂÁ×ÏË ÐÏÌØÚÕÅÔÅÓØ ÓÉÓÔÅÍÁÍÉ ÏÔÓÌÅÖÉ×ÁÎÉÑ ÏÛÉÂÏË (Á ÜÔÏ ÏÔÄÅÌØÎÙÊ ÒÁÚÇÏ×ÏÒ), ÔÏ ÖÕÒÎÁÌØÎÏÅ ÓÏÏÂÝÅÎÉÅ -- ÏÔÌÉÞÎÏÅ ÍÅÓÔÏ, ËÕÄÁ ÍÏÖÎÏ ×ÐÉÓÁÔØ ÎÏÍÅÒ ÉÓÐÒÁ×ÌÅÎÎÏÊ ÏÛÉÂËÉ ÉÌÉ, ÎÁÐÒÉÍÅÒ, ÓÓÙÌËÕ ÎÁ ÐÉÓØÍÏ, × ËÏÔÏÒÏÍ ÐÏÌØÚÏ×ÁÔÅÌØ ÓÏÏÂÝÉÌ Ï ÉÓÐÒÁ×ÌÅÎÎÏÊ ÏÛÉÂËÅ.

óÔÁÒÁÊÔÅÓØ ÎÅ ÆÉËÓÉÒÏ×ÁÔØ ÎÅÓËÏÌØËÏ ÏÛÉÂÏË ÏÄÎÏ×ÒÅÍÅÎÎÏ (ÅÝÅ ÈÕÖÅ -- × ËÁÞÅÓÔ×Å ÖÕÒÎÁÌØÎÏÇÏ ÓÏÏÂÝÅÎÉÑ ÐÉÓÁÔØ "éÓÐÒÁ×ÌÅÎÏ ÎÅÓËÏÌØËÏ ÏÛÉÂÏË" ÉÌÉ "ëÕÞÁ ÉÓÐÒÁ×ÌÅÎÉÊ"). ÷ ÔÏ ÖÅ ÓÁÍÏÅ ×ÒÅÍÑ ÅÓÔØ ÅÝÅ ÏÄÎÁ ÞÁÓÔÏ ×ÓÔÒÅÞÁÀÝÁÑÓÑ ÓÉÔÕÁÃÉÑ: ÐÒÅÄÐÏÌÏÖÉÍ, ÞÔÏ ×Ù ÎÅÓËÏÌØËÏ ÞÁÓÏ× ÐÉÓÁÌÉ ÎÏ×ÙÊ ÄÏ×ÏÌØÎÏ ÂÏÌØÛÏÊ ÍÏÄÕÌØ, ÏÎ × ÏÓÎÏ×ÎÏÍ ÒÁÂÏÔÁÅÔ, É ÏÓÔÁÌÏÓØ ×ÎÅÓÔÉ ÂÕË×ÁÌØÎÏ ÎÅÓËÏÌØËÏ ÉÚÍÅÎÅÎÉÊ (ÉÌÉ, ÎÁÐÒÉÍÅÒ, ÕÖÅ ÐÏÚÄÎÏ É ÐÏÒÁ ÉÄÔÉ ÄÏÍÏÊ). ÷ ÜÔÏÍ ÓÌÕÞÁÅ ÍÏÖÎÏ ÓÍÅÌÏ ÆÉËÓÉÒÏ×ÁÔØ ÎÅÄÏÄÅÌÁÎÎÙÊ ÆÁÊÌ, Á × ËÁÞÅÓÔ×Å ËÏÍÍÅÎÔÁÒÉÑ ÓÔÁ×ÉÔØ "ÐÏÞÔÉ ÒÁÂÏÔÁÅÔ". ïÓÔÁ×ÛÉÅÓÑ ÄÏÄÅÌËÉ ÞÒÅÚ×ÙÞÁÊÎÏ ÕÄÏÂÎÏ ÂÕÄÅÔ ×ÎÅÓÔÉ ÕÖÅ × ÎÏ×ÕÀ ÒÅ×ÉÚÉÀ, ÉÓÐÏÌØÚÕÑ ËÏÍÁÎÄÕ ÐÒÏÓÍÏÔÒÁ ÉÚÍÅÎÅÎÉÊ ÏÔÎÏÓÉÔÅÌØÎÏ "ÐÏÞÔÉ ÒÁÂÏÔÁÀÝÅÊ ×ÅÒÓÉÉ". ðÏ ËÒÁÊÎÅÊ ÍÅÒÅ, Ë ÎÅÊ ×ÓÅÇÄÁ ÍÏÖÎÏ ÂÕÄÅÔ ×ÅÒÎÕÔØÓÑ.

îÅÓËÏÌØËÏ ×ÅÔ×ÅÊ ÒÁÚÒÁÂÏÔËÉ

þÅÒÅÚ ÎÅÓËÏÌØËÏ ÍÅÓÑÃÅ×, ËÏÇÄÁ ×Ù ÂÏÌÅÅ-ÍÅÎÅÅ ÏÓ×ÏÉÔÅÓØ Ó ÐÏ×ÓÅÄÎÅ×ÎÙÍ ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ CVS, ×ÁÍ ×ÓÅ ÞÁÝÅ ÓÔÁÎÕÔ ×ÓÐÏÍÉÎÁÔØÓÑ ×ÉÄÅÎÎÙÅ ËÏÇÄÁ-ÔÏ × ÄÏËÕÍÅÎÔÁÃÉÉ É × ÒÅÞÉ ÓÔÁÒÛÉÈ ÔÏ×ÁÒÉÝÅÊ ÓÌÏ×ÏÓÏÞÅÔÁÎÉÑ "ÓÔÁÂÉÌØÎÁÑ ×ÅÔËÁ", "ÓÏÌØÅÍ ÉÚÍÅÎÅÎÉÑ ÎÁ ÓÔ×ÏÌ", "ÐÏÄÄÅÒÖËÁ ÓÔÁÒÙÈ ×ÅÒÓÉÊ". üÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ×Ù ÕÖÅ ÇÏÔÏ×Ù ÐÒÏÇÒÁÍÍÉÒÏ×ÁÔØ ÏÄÎÏ×ÒÅÍÅÎÎÏ Ä×Å ×ÅÒÓÉÉ Ó×ÏÅÊ ÐÒÏÇÒÁÍÍÙ. ïÄÎÁ -- ÓÔÁÂÉÌØÎÁÑ, ËÏÔÏÒÁÑ ÕÖÅ ÒÁÂÏÔÁÅÔ Õ ÚÁËÁÚÞÉËÁ, ÎÏ ×ÒÅÍÑ ÏÔ ×ÒÅÍÅÎÉ ÔÒÅÂÕÅÔ ÎÅÂÏÌØÛÉÈ ÉÓÐÒÁ×ÌÅÎÉÊ ÉÌÉ ÄÏÒÁÂÏÔÏË. ÷ÔÏÒÁÑ -- ÔÁ, ÒÁÚÒÁÂÏÔËÕ ËÏÔÏÒÏÊ ×Ù ÐÒÏÄÏÌÖÁÅÔÅ, ËÏÔÏÒÁÑ ÂÕÄÅÔ ÎÁÚÙ×ÁÔØÓÑ ×ÅÒÓÉÅÊ 2.0, ÓÏÄÅÒÖÉÔ ÎÏ×ÙÅ ×ÏÚÍÏÖÎÏÓÔÉ ÉÌÉ ×ÏÏÂÝÅ ÐÏÞÔÉ ÐÏÌÎÏÓÔØÀ ÐÅÒÅÐÉÓÁÎÁ. îÁ ÐÏÍÏÝØ ÐÒÉÈÏÄÉÔ CVS, ËÏÔÏÒÁÑ Ó ÓÁÍÏÇÏ ÎÁÞÁÌÁ ÒÁÚÒÁÂÁÔÙ×ÁÌÁÓØ ÄÌÑ ÐÏÄÄÅÒÖËÉ ÎÅÓËÏÌØËÉÈ ×ÅÔ×ÅÊ ÒÁÚÒÁÂÏÔËÉ ÐÒÏÇÒÁÍÍÙ.

÷ ËÁËÏÊ-ÔÏ ÍÏÍÅÎÔ ×Ù ÏÂßÑ×ÌÑÅÔÅ, ÞÔÏ ×ÙÐÕÝÅÎÁ Hello Version 1.0. äÉÓÔÒÉÂÕÔÉ× ÐÒÏÇÒÁÍÍÙ ÏÔÐÒÁ×ÌÅÎ ÐÏÌØÚÏ×ÁÔÅÌÀ, Á ×ÁÍ ÓÁÍÏÅ ×ÒÅÍÑ ÐÒÉÇÏÔÏ×ÉÔØÓÑ Ë ÄÁÌØÎÅÊÛÅÊ ÒÁÚÒÁÂÏÔËÅ. ðÏÍÅÔØÔÅ ÔÅËÕÝÅÅ ÓÏÓÔÏÑÎÉÅ ÉÓÈÏÄÎÉËÏ×:

	$ cvs rtag HELLO-1-0-RELEASE hello

÷Ï-ÐÅÒ×ÙÈ, ÔÅÐÅÒØ ×Ù ×ÓÅÇÄÁ ÓÍÏÖÅÔÅ ×ÅÒÎÕÔØÓÑ Ë ÓÏÓÔÏÑÎÉÀ ÐÒÏÇÒÁÍÍÙ ÎÁ ÍÏÍÅÎÔ ÒÅÌÉÚÁ Ó ÐÏÍÏÝØÀ ËÏÍÁÎÄÙ

	$ cvs co -r HELLO-1-0-RELEASE hello

÷Ï-×ÔÏÒÙÈ, ÞÔÏ ×ÁÖÎÅÅ, ÔÅÐÅÒØ ×Ù ÓÍÏÖÅÔÅ ÓÏÚÄÁÔØ ×ÅÔËÕ ÒÁÚÒÁÂÏÔËÉ, × ËÏÔÏÒÏÊ ÂÕÄÅÔÅ ×ÅÓÔÉ ÐÏÄÄÅÒÖËÕ ÐÒÏÇÒÁÍÍÙ (×ÙÐÕÓËÁÑ ×ÅÒÓÉÉ 1.01, 1.02 É Ô. Ä.). äÌÑ ÜÔÏÇÏ ÉÓÐÏÌØÚÕÅÔÓÑ ËÏÍÁÎÄÁ cvs rtag Ó ËÌÀÞÏÍ -b:

	$ cvs rtag -b -r HELLO-1-0-RELEASE HELLO-1-0 hello

ôÅÐÅÒØ × ×ÁÛÅÊ ÔÅËÕÝÅÊ ÒÁÂÏÞÅÊ ËÏÐÉÉ ÍÏÖÎÏ ÐÒÏÄÏÌÖÁÔØ ÁËÔÉ×ÎÕÀ ÒÁÚÒÁÂÏÔËÕ Hello Version 2. ïÄÎÏ×ÒÅÍÅÎÎÏ Ó ÜÔÉÍ ÏÔ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÁÞÎÕÔ ÐÏÓÔÕÐÁÔØ ÚÁÐÒÏÓÙ ÎÁ ÉÓÐÒÁ×ÌÅÎÉÅ ÏÛÉÂÏË, ÎÅÂÏÌØÛÉÅ ÄÏÒÁÂÏÔËÉ etc. óÏÚÄÁÊÔÅ ÓÅÂÅ ÅÝÅ ÏÄÎÕ ÒÁÂÏÞÕÀ ËÏÐÉÀ × ËÁÔÁÌÏÇÅ hello-support:

	$ cvs co -r HELLO-1-0 -d hello-support hello

üÔÁ ÒÁÂÏÞÁÑ ËÏÐÉÑ "ÐÏÍÎÉÔ" Ï ÔÏÍ, ÞÔÏ ÐÒÉ ÅÅ ÉÚ×ÌÅÞÅÎÉÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ ×ÅÔËÉ (HELLO-1-0), É ÔÅÐÅÒØ ×ÓÅ ÉÓÐÒÁ×ÌÅÎÉÑ, ËÏÔÏÒÙÅ ×Ù ÓÄÅÌÁÅÔÅ É ÚÁÆÉËÓÉÒÕÅÔÅ, ÏËÁÖÕÔÓÑ ÉÍÅÎÎÏ ÎÁ ×ÅÔËÅ, ÎÅ ÚÁÔÒÁÇÉ×ÁÑ ÏÓÎÏ×ÎÏÊ ÓÔ×ÏÌ ÒÁÚÒÁÂÏÔËÉ. é ÎÁÏÂÏÒÏÔ, ÉÚÍÅÎÅÎÉÑ, ×ÎÏÓÉÍÙÅ × ×ÁÛÅÊ ÏÓÎÏ×ÎÏÊ ÒÁÂÏÞÅÊ ËÏÐÉÉ, ÎÅ ÏËÁÖÕÔ ×ÌÉÑÎÉÑ ÎÁ ×ÅÔËÉ, ËÏÔÏÒÙÅ ÓÕÝÅÓÔ×ÕÀÔ × ÒÅÐÏÚÉÔÏÒÉÉ.

îÅÓËÏÌØËÏ ÒÁÚÒÁÂÏÔÞÉËÏ×

CVS ÉÚÎÁÞÁÌØÎÏ ÒÁÚÒÁÂÁÔÙ×ÁÌÁÓØ Ó ÕÞÅÔÏÍ ×ÏÚÍÏÖÎÏÓÔÉ ÒÁÂÏÔÙ ÎÁÄ ÐÒÏÅËÔÏÍ ÎÅÓËÏÌØËÉÈ ÒÁÚÒÁÂÏÔÞÉËÏ×. äÅÌÏ × ÔÏÍ, ÞÔÏ ×Ù ÍÏÖÅÔÅ ÉÚ×ÌÅÞØ ÉÚ ÏÄÎÏÇÏ ÒÅÐÏÚÉÔÏÒÉÑ ÎÅÓËÏÌØËÏ ÒÁÂÏÞÉÈ ËÏÐÉÊ -- ÐÏ ÏÄÎÏÊ ÎÁ ËÁÖÄÏÇÏ ÐÒÏÇÒÁÍÍÉÓÔÁ. ïÞÅ×ÉÄÎÏ, ÞÔÏ × ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ× ÒÁÚÎÙÅ ÐÒÏÇÒÁÍÍÉÓÔÙ ÂÕÄÕÔ ÒÁÂÏÔÁÔØ ÎÁÄ ÒÁÚÎÙÍÉ ÞÁÓÔÑÍÉ ÐÒÏÅËÔÁ. ëÁÖÄÙÊ ÉÚ ÎÉÈ ÂÕÄÅÔ ÆÉËÓÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÑ × Ó×ÏÅÊ ÞÁÓÔÉ ÐÒÏÅËÔÁ, É ÏÎÉ ÎÅ ÓÔÁÎÕÔ ÎÁÔÙËÁÔØÓÑ ÄÒÕÇ ÎÁ ÄÒÕÇÁ × ÒÅÐÏÚÉÔÏÒÉÉ. äÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÐÏÌÕÞÉÔØ ÉÚÍÅÎÅÎÉÑ, ÓÄÅÌÁÎÎÙÅ ÄÒÕÇÉÍÉ, ÎÕÖÎÏ ÓÐÅÃÉÁÌØÎÏ ×ÙÚ×ÁÔØ ËÏÍÁÎÄÕ

	$ cvs update

åÓÌÉ ×ÄÒÕÇ ÓÌÕÞÁÊÎÏ ðÅÔÑ É ÷ÁÓÑ ÂÒÏÓÑÔÓÑ ÉÓÐÒÁ×ÌÑÔØ ÏÄÉÎ É ÔÏÔ ÖÅ ËÕÓÏË ËÏÄÁ, É ÓÄÅÌÁÀÔ ÜÔÏ ÐÏ-ÒÁÚÎÏÍÕ (ÓÁÍÁ ÐÏ ÓÅÂÅ ÜÔÁ ÓÉÔÕÁÃÉÑ ÕËÁÚÙ×ÁÅÔ ÎÁ ÎÅÄÏÓÔÁÔÏË ÏÂÝÅÎÉÑ ðÅÔÉ É ÷ÁÓÉ ÄÒÕÇ Ó ÄÒÕÇÏÍ), ÔÏ CVS ÏÂÒÁÂÏÔÁÅÔ É ÜÔÕ ÓÉÔÕÁÃÉÀ. ëÏÇÄÁ ðÅÔÑ ÚÁÆÉËÓÉÒÕÅÔ Ó×ÏÅ ÉÓÐÒÁ×ÌÅÎÉÅ, CVS ÐÏÚ×ÏÌÉÔ ÅÍÕ ÓÄÅÌÁÔØ ÜÔÏ. ëÏÇÄÁ ÷ÁÓÑ ÐÏÐÙÔÁÅÔÓÑ ÚÁÆÉËÓÉÒÏ×ÁÔØ Ó×ÏÊ ×ÁÒÉÁÎÔ ÉÓÐÒÁ×ÌÅÎÉÑ, CVS ÏÂÎÁÒÕÖÉÔ, ÞÔÏ ÜÔÉ ÉÓÐÒÁ×ÌÅÎÉÑ ÐÅÒÅËÒÙ×ÁÀÔÓÑ, É ÐÒÅÄÌÏÖÉÔ ÅÍÕ ÏÂÎÏ×ÉÔØ ÒÁÂÏÞÕÀ ËÏÐÉÀ Ó ÐÏÍÏÝØÀ cvs update. üÔÁ ËÏÍÁÎÄÁ ÐÏËÁÖÅÔ, ÞÔÏ × ÉÓÐÒÁ×ÌÑÅÍÏÍ ÆÁÊÌÅ ÐÒÏÉÚÏÛÅÌ ÔÁË ÎÁÚÙ×ÁÅÍÙÊ "ËÏÎÆÌÉËÔ" É ÐÏÍÅÔÉÔ ÍÅÓÔÏ ËÏÎÆÌÉËÔÁ × ÒÁÂÏÞÅÊ ËÏÐÉÉ ÜÔÏÇÏ ÆÁÊÌÁ. ðÒÅÄÐÏÌÏÖÉÍ, ÞÔÏ ðÅÔÑ ÒÅÛÉÌ, ÞÔÏ ×ÁÖÎÅÅ ÉÓÐÒÁ×ÉÔØ ÓÉÎÔÁËÓÉÓ ×Ù×ÏÄÉÍÏÇÏ ÓÏÏÂÝÅÎÉÑ, Á ÷ÁÓÑ -- ÞÔÏ ÎÕÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÂÏÌÅÅ ÐÒÏÓÔÕÀ ÆÕÎËÃÉÀ puts(). ëÏÎÆÌÉËÔ ÂÕÄÅÔ ×ÙÇÌÑÄÅÔØ ÐÒÉÍÅÒÎÏ ÔÁË:

	<<<<<<<<
	printf("Hello, world!\n");
	=========
	puts("hello world!");
	>>>>>>>>

÷ÁÓÅ ÓÌÅÄÕÅÔ ÏÂÓÕÄÉÔØ Ó ðÅÔÅÊ ÐÒÉÞÉÎÕ ËÏÎÆÌÉËÔÁ, ÄÏÇÏ×ÏÒÉÔØÓÑ, ËÁËÏÅ ÉÚ ÉÚÍÅÎÅÎÉÊ ×ÁÖÎÅÅ (ÉÌÉ ÐÒÏÓÔÏ ÏÂßÅÄÉÎÉÔØ ÉÈ), ÚÁÔÅÍ ÕÂÒÁÔØ ÉÎÄÉËÁÔÏÒÙ ËÏÎÆÌÉËÔÁ (ÓÔÒÏÞËÉ ÉÚ ÓÉÍ×ÏÌÏ× "ÂÏÌØÛÅ", "ÍÅÎØÛÅ" É "ÒÁ×ÎÏ"), ÏÓÔÁ×ÉÔØ ÌÕÞÛÉÊ ÉÚ Ä×ÕÈ ×ÁÒÉÁÎÔÏ× É, ÅÓÌÉ ÎÕÖÎÏ, ÚÁÆÉËÓÉÒÏ×ÁÔØ ÏËÏÎÞÁÔÅÌØÎÏÅ ÉÚÍÅÎÅÎÉÅ.

íÎÏÇÉÅ ÐÕÇÁÀÔÓÑ, ÕÓÌÙÛÁ× Ï ÐÏÌÕÁ×ÔÏÍÁÔÉÞÅÓËÏÊ ÏÂÒÁÂÏÔËÅ ËÏÎÆÌÉËÔÏ×. îÁ ÓÁÍÏÍ ÄÅÌÅ ÐÒÁËÔÉËÁ ÐÏËÁÚÙ×ÁÅÔ, ÞÔÏ ÐÒÉ ÓÏ×ÍÅÓÔÎÏÊ ÒÁÂÏÔÅ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ CVS ËÏÎÆÌÉËÔÏ× ÐÒÁËÔÉÞÅÓËÉ ÎÅ ×ÏÚÎÉËÁÅÔ (Ñ ÇÏ×ÏÒÀ ÎÁ ÏÓÎÏ×ÁÎÉÉ ÏÐÙÔÁ Ä×ÕÈÍÅÓÑÞÎÏÊ ÒÁÂÏÔÙ ÔÒÅÈ ÐÒÏÇÒÁÍÍÉÓÔÏ× ÎÁÄ ÏÄÎÉÍ ÐÒÏÅËÔÏÍ). úÁ ÜÔÉ Ä×Á ÍÅÓÑÃÁ Ñ ÎÁÂÌÀÄÁÌ, ÎÕ ÍÏÖÅÔ ÂÙÔØ, ÔÒÉ ÉÌÉ ÞÅÔÙÒÅ ËÏÎÆÌÉËÔÁ. ÷ÓÅ ÏÎÉ ÂÙÌÉ ÐÒÏÓÔÅÊÛÉÍÉ É ÉÓÐÒÁ×ÌÑÌÉÓØ ÚÁ ÔÒÉ ÍÉÎÕÔÙ. îÉËÁËÉÈ ÐÒÏÂÌÅÍ, Ó×ÑÚÁÎÎÙÈ Ó ÓÏ×ÍÅÓÔÎÏÊ ÒÁÂÏÔÏÊ, ÚÁÍÅÞÅÎÏ ÎÅ ÂÙÌÏ.

úÁËÌÀÞÉÔÅÌØÎÁÑ ÞÁÓÔØ

CVS ÎÅÏÂÙÞÁÊÎÏ ÛÉÒÏËÏ ÐÒÉÍÅÎÑÅÔÓÑ ÐÒÉ ÒÁÚÒÁÂÏÔËÅ ÐÏÄÁ×ÌÑÀÝÅÇÏ ÂÏÌØÛÉÎÓÔ×Á ÓÏ×ÒÅÍÅÎÎÙÈ ÐÒÏÅËÔÏ× Ó ÏÔËÒÙÔÙÍ ÉÓÈÏÄÎÙÍ ÔÅËÓÔÏÍ. óÒÅÄÉ ÏÇÒÏÍÎÏÇÏ ÓÐÉÓËÁ ÏÐÅÒÁÃÉÏÎÎÙÈ ÓÉÓÔÅÍ É ÐÒÏÇÒÁÍÍ: FreeBSD, XEmacs, XFree86, OpenSSL, ×ÙÄÅÌÑÅÔÓÑ, ÐÏÖÁÌÕÊ, ÌÉÛØ ÑÄÒÏ Linux, ÇÌÁ×ÎÙÊ ÒÁÚÒÁÂÏÔÞÉË ËÏÔÏÒÏÊ, ìÉÎÕÓ ôÏÒ×ÁÌØÄÓ, × ÓÉÌÕ ÏÓÏÂÅÎÎÏÓÔÅÊ ÌÉÞÎÏÓÔÉ ÏÔËÁÚÙ×ÁÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ ËÁËÕÀ ÂÙ ÔÏ ÎÉ ÂÙÌÏ ÓÉÓÔÅÍÕ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÒÓÉÑÍÉ, ËÒÏÍÅ ÓÏÂÓÔ×ÅÎÎÏÇÏ ÍÏÚÇÁ. äÁ É ÔÏ, ÐÏÞÔÉ ×ÓÅ ÏÓÔÁÌØÎÙÅ ÕÞÁÓÔÎÉËÉ ÒÁÚÒÁÂÏÔËÉ ÄÅÒÖÁÔ Ó×ÏÊ ÓÏÂÓÔ×ÅÎÎÙÊ CVS-ÒÅÐÏÚÉÔÏÒÉÊ, ËÏÔÏÒÙÍ ÁËÔÉ×ÎÏ ÐÏÌØÚÕÀÔÓÑ ÐÒÉ ÒÁÚÒÁÂÏÔËÅ (ÚÄÅÓØ ÉÍ ÐÏÍÏÇÁÅÔ ÉÎÔÅÒÅÓÎÁÑ ×ÏÚÍÏÖÎÏÓÔØ CVS: Ô.  Î. "×ÅÔËÉ ÐÏÓÔÁ×ÝÉËÁ" (vendor branches)). ðÒÏÅËÔ http://sourceforge.net/, ÏÂÅÓÐÅÞÉ×ÁÀÝÉÊ Ó×ÏÂÏÄÎÏ ÄÏÓÔÕÐÎÕÀ ÉÎÆÒÁÓÔÒÕËÔÕÒÕ ÄÌÑ ÒÁÚÒÁÂÏÔÞÉËÏ× Ó×ÏÂÏÄÎÏÇÏ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ, × ËÁÞÅÓÔ×Å ÓÔÁÎÄÁÒÔÎÏÊ ×ÏÚÍÏÖÎÏÓÔÉ ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ÉÓÐÏÌØÚÏ×ÁÎÉÅ Ó×ÏÅÇÏ CVS-ÓÅÒ×ÅÒÁ. ÷ÏÏÂÝÅ, ËÏÌÉÞÅÓÔ×Ï ÉÎÓÔÁÌÌÑÃÉÊ É ÐÏÌØÚÏ×ÁÔÅÌÅÊ -- ÏÄÎÏ ÉÚ ÚÎÁÞÉÔÅÌØÎÙÈ ÐÒÅÉÍÕÝÅÓÔ× CVS.

îÁ ÒÙÎËÅ Ó×ÏÂÏÄÎÏ ÒÁÓÐÒÏÓÔÒÁÎÑÅÍÙÈ ÐÒÏÇÒÁÍÍ CVS ÐÒÁËÔÉÞÅÓËÉ ÎÅÔ ËÏÎËÕÒÅÎÔÏ×. ïÄÎÁËÏ, ÉÚ-ÚÁ ÐÏÞÔÅÎÎÏÇÏ ×ÏÚÒÁÓÔÁ (ÐÅÒ×ÙÅ ×ÅÒÓÉÉ CVS ÐÏÑ×ÉÌÉÓØ × 1986 ÇÏÄÕ) ÐÏÑ×ÉÌÁÓØ ÎÅÂÏÌØÛÁÑ, ÎÏ ÑÓÎÏ ×ÉÄÎÁÑ ÎÉÛÁ ÄÌÑ ËÏÎËÕÒÉÒÕÀÝÉÈ ÐÒÏÄÕËÔÏ×. äÅÌÏ × ÔÏÍ, ÞÔÏ CVS ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÎÅÓËÏÌØËÏ ÕÄÏÂÎÙÈ (ÎÅËÏÔÏÒÙÅ ÄÁÖÅ ÓÞÉÔÁÀÔ ÉÈ ËÒÉÔÉÞÎÙÍÉ) ×ÏÚÍÏÖÎÏÓÔÅÊ, ÎÁÐÒÉÍÅÒ, ×ÅÒÓÉÏÎÎÏÓÔØ ËÁÔÁÌÏÇÏ× -- ÏÔÓÌÅÖÉ×ÁÎÉÅ ÉÓÔÏÒÉÉ ÆÁÊÌÏ× Ó ÕÞÅÔÏÍ ÉÈ ÐÅÒÅÉÍÅÎÏ×ÁÎÉÑ, Á ÔÁËÖÅ ÐÏÄÄÅÒÖËÕ "ÎÁÂÏÒÏ× ÉÚÍÅÎÅÎÉÊ" (changesets). ëÒÏÍÅ ÔÏÇÏ, ÒÁÚÒÁÂÏÔËÁ CVS × ÐÏÓÌÅÄÎÅÅ ×ÒÅÍÑ ÎÅÓËÏÌØËÏ ÐÒÉÏÓÔÁÎÏ×ÉÌÁÓØ, × ÎÅÍ ÄÁ×ÎÏ ÎÅ ÐÏÑ×ÌÑÅÔÓÑ ÎÏ×ÙÈ ËÒÕÐÎÙÈ ×ÏÚÍÏÖÎÏÓÔÅÊ (×ÐÒÏÞÅÍ, ÜÔÏ ÎÅ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÓÕÝÅÓÔ×ÕÀÝÉÈ ×ÏÚÍÏÖÎÏÓÔÅÊ ÎÅ È×ÁÔÁÅÔ). åÓÔØ ÎÅÓËÏÌØËÏ ËÏÍÍÅÒÞÅÓËÉÈ ÐÒÏÄÕËÔÏ×, ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ ÐÒÉÍÅÒÎÏ ÔÏÔ ÖÅ ÎÁÂÏÒ ×ÏÚÍÏÖÎÏÓÔÅÊ, ÞÔÏ É CVS. ä×Á, ÎÁ ÍÏÊ ×ÚÇÌÑÄ, ÓÁÍÙÈ ÉÚ×ÅÓÔÎÙÈ -- ÜÔÏ Perforce (http://www.perforce.com/) É Rational ClearCase (http://www.rational.com/). ÷ ËÏÎÃÅ ÓÔÁÔØÉ ÐÒÉ×ÅÄÅÎÁ ÓÓÙÌËÁ ÎÁ ËÁÔÁÌÏÇ, ÓÏÄÅÒÖÁÝÉÊ ÓÓÙÌËÉ ÎÁ ÂÏÌØÛÏÅ ËÏÌÉÞÅÓÔ×Ï ÓÉÓÔÅÍ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÒÓÉÑÍÉ.

÷ ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ ÁËÔÉ×ÎÏ ×ÅÄÅÔÓÑ ÒÁÚÒÁÂÏÔËÁ ÔÏÇÏ, ÞÔÏ ËÏÇÄÁ-ÎÉÂÕÄØ ÐÒÉÄÅÔ ÎÁ ÓÍÅÎÕ CVS: http://subversion.tigris.org/. üÔÏÔ ÐÒÏÅËÔ, Subversion, ÒÁÚÒÁÂÁÔÙ×ÁÅÔÓÑ Ó ÕÞÅÔÏÍ ÐÏÌÏÖÉÔÅÌØÎÙÈ ÓÔÏÒÏÎ CVS, Õ ÎÅÇÏ ÎÏ×ÏÅ, ÎÅ ÓÔÒÁÄÁÀÝÅÅ ÏÔ "ÓÔÁÒÞÅÓËÉÈ ÂÏÌÅÚÎÅÊ", ÄÅÒÅ×Ï ÉÓÈÏÄÎÉËÏ×, ÎÅËÏÔÏÒÙÅ ÉÚ ÅÇÏ ÒÁÚÒÁÂÏÔÞÉËÏ× × ÐÒÏÛÌÏÍ ÕÞÁÓÔ×Ï×ÁÌÉ × ÒÁÚÒÁÂÏÔËÅ CVS. ëÏÎÅÞÎÏ ÖÅ, Subversion ÂÕÄÅÔ ÒÁÓÐÒÏÓÔÒÁÎÑÔØÓÑ Ó ÉÓÈÏÄÎÙÍÉ ÔÅËÓÔÁÍÉ É ÐÏ Ó×ÏÂÏÄÎÏÊ ÌÉÃÅÎÚÉÉ. ñ ÏÞÅÎØ ÎÁÄÅÀÓØ, ÞÔÏ ÜÔÏÍÕ ÐÒÏÅËÔÕ ÂÕÄÅÔ ÓÏÐÕÔÓÔ×Ï×ÁÔØ ÕÓÐÅÈ! îÏ × ÌÀÂÏÍ ÓÌÕÞÁÅ, CVS ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÅÝÅ ÏÞÅÎØ É ÏÞÅÎØ ÄÏÌÇÏ.

óÓÙÌËÉ ÎÁ ÄÏÐÏÌÎÉÔÅÌØÎÕÀ ÉÎÆÏÒÍÁÃÉÀ

äÏÍÁÛÎÑÑ ÓÔÒÁÎÉÃÁ CVS: http://www.cvshome.org/

ïÓÎÏ×ÎÏÊ ÒÅÓÕÒÓ ÐÏ CVS ÎÁ Open Directory: http://dmoz.org/Computers/Software/Configuration_Management/Tools/Concurrent_Versions_System/

ëÒÕÐÎÅÊÛÉÊ ÒÅÓÕÒÓ ÐÏ CVS ÎÁ ÒÕÓÓËÏÍ ÑÚÙËÅ (ÄÏËÕÍÅÎÔÁÃÉÑ, ÓÔÁÔØÉ, ÓÐÉÓÏË ÒÁÓÓÙÌËÉ): http://alexm.here.ru/cvs-ru/

çÒÁÆÉÞÅÓËÉÊ (Á ÔÁËÖÅ ÏÂÙÞÎÙÊ ÔÅËÓÔÏ×ÙÊ) CVS-ËÌÉÅÎÔ ÐÏÄ Win32: http://www.cvsgui.org/

CVS-ÓÅÒ×ÅÒ ÐÏÄ Win32: http://www.cvsnt.org/

óÓÙÌËÉ ÎÁ ÄÒÕÇÉÅ ÓÉÓÔÅÍÙ ÕÐÒÁ×ÌÅÎÉÑ ×ÅÒÓÉÑÍÉ: http://dmoz.org/Computers/Software/Configuration_Management/Tools/


Alexey Mahotkin
Last modified: Tue Apr 17 00:43:10 MSD 2001