CVS -- ������� ���������� ������������� ��������

CVS -- ��� ������� �������� ������. ��������� ��, �� ������ ����� ������� ����� ������ � ��������� ��������. � ������� CVS �� ����� ������ ���������� � ������ �������, ����� ����� ��������, ��� ������ ������� � ������. ������ ��� ������ ��������.

������ � �����������

��� ������� � ����������� Web-SynDic ����� ��������� � ���� .profile ��� .bashrc ����� ������ (������ login ������� ���� login �� ������� zeta.cs.karelia.ru):

CVSROOT=:pserver:login@zeta.cs.karelia.ru:/usr/local/cvsroot
export CVSROOT

��� ������� ����������� ����� � �������. ��� ����� � ������� ����������� ��� ������. ��� ���������� ��� ���������� ������� login, ������� ���������� � ��� ������:

cvs login
CVS password: _

����� ����, ��� �� ����� ������, CVS ��������� ���� ������ �� ������� zeta.cs.karelia.ru. ���� ��������� �����������, �� ���������� ����� ������������, ������, ���� � ����������� � ������ ����������� � ����������� �����, ����� ��� ���������� ������ � ���� ������������ �� ��� �� ����������� ��������� cvs login. (���� ��������� �������� �����������, CVS ����������, ��� ������ �������, �, �����������, �� �� ����� ��������.)

������ ������ �������� � ����� $HOME/.cvspass. ����� ����, ��� �� ����� � �������, ��� ������� CVS, ������������ ���� ����������� � ��� ������������, ������ �������������������, ��������� ���� ����������� ������.

������ � ������������� �������� ����������� ����� ������� �� ����� ������� � ������� ������� cvs logout.

����� ����, ��� �� ��������� �� ������ ����������� ������� ����� �������� �������, ������ ������������ ��������� ������� ��������� � ���� �����������. ����� �� �������, � ������� ��� ��� ����� ����� ������������ ������� cvs update � ����� ������� ��������, ����� ������� ���� ������ � ���������, ����������� � ����������� ����� ����, ��� �� �������� ��� ��������� ��� ��������� ��� ������� �������.

�������� ������� CVS

����������� �������� ���, ��� ������� ������ Web-SynDic. ������� ��� ���� �������� ������� ����� ��������� ����. ����������� �������

$ cvs checkout Web-SynDic

��� ���� ����� ������ ������� Web-SynDic, � ������� ����� �������� ��� ����� � ��������� ��������.

$ cd Web-SynDic
$ ls
CVS/  doc/  src/

������� CVS ������������ ��� ���������� ���� CVS. ������ ��� �� ������� ������������� ��� ������� �����, ����������� � ���� ��������.

�� ��������� ��� �����-���� ������, ���� ��� ����������� �������, ����� ���� ���������� ��������� � ������ ���������.

����������� ��������������� ������� ����� ���������� � ����������� ����� ������ ����� � ������ filename.

$ cvs commit filename

����� ��� ��������� ������� �������� � ����������� ��� ���������� ����� � ������� ���������� � ���� �� ��������������.

$ cvs commit

CVS ��������� ��������, ����� ��������� ��� ������ ���������� ������. �� ������� � ���������� ����������� ������������ ���������.

���������� ��������� $CVSEDITOR ����������, ����� ������ �������� ����� ������. ���� $CVSEDITOR �� �����������, �� ������������ $EDITOR, ���� ���, � ���� �������, �����������. ���� ��� ���������� �� �����������, ������������ �������� �� ��������� ��� ����� ������������ �������, ��������, vi ��� UNIX ��� notepad ��� Windows 95/NT.

����� CVS ��������� ��������, � ������� ��� ����� ���������� ������ ����������� ���������� �����. ��� ������� CVS ���� ������ ��������� ��ԣ� ��������� ������� ��������� ����� � ��� �������� ���������, ����� �� ��� ������� ��� ��������. ����� �������, ���� ����� ��������� ����� ����������, � ��� ���������� �������� �������, �� ����� ��������� ����������. ����� ����� � ������ ������ �� �������� �� ��� �������� -- � �������� ������������ ��������� CVS ���������, ��� ���������� ����� �� ���������� � ������� ���� ������� �������.

����� ���, ��� ������� � ������ ��������, �� ������� ������� ������� ����� Web-SynDic. ��� ����� ������� ���:

$ cvs release -d Web-SynDic

������� release ���������, ��� ��� ���� ��������� ���� �������������. ������ ����������, ������� ���������� ������ ��������� � ����� ������� ����� �������� �����, � ����� ���������� ������������� ����� ��������� ������ ��� �������� ������� � ���� �������. ���� �� ����������� ������� release � ������ -d, �� ��� ������� ���� ������� �����.

���������� ������ � ���������

��� ����, ����� �������� ����� ���� � �������, ��������� ��������� ����:

����� ����� ������������ ������� add ��� ���������� ������ ��������.

� ������� �� ����������� ������ ������, ������� add �� �������� �����������.

������ � ��������� �������

���� ��������� ������ -kb, ��������� ��� ������������� ��������� ������ CVS, ��������� ���������, ��� ������� ��������������, ������� CVS ���������� � ���������� �������, �� ������������. ��� ������ �������� ������ ����� � ������������� ����� -kb:
$ cvs add -kb -m "A test file" filename
$ cvs checkout -m "Added binary file" filename
���� ���� �������� ����� �������� ��� -kb, ����� ������������ ������� cvs admin ��� ��������������. ��������,
$ cvs admin -kb filename
$ cvs update -A filename
������� cvs admin -kb ������������� ����� ����������� �������� ���� �� ��������� ��� ����� �����, �� �� �������� ������� ����� �����, ������� � ��� ����. ������, ��������� cvs admin -k ��� ��������� ������ ����������� �������� ����, ������, ��� ���� ����� �� ����������� �������� ������. ��� ��������, ��� ����, ������, � ������ ������� ������ �����-�� ���� ��� ���������, � ����� � ����� ������� �������� �������� ���� � ��� �� ������, �� CVS �� ������������ ������� ������� ���� � �������� ��� ��������� ������ � ����������� �� ������ ������, ������� �� ����������. ��� ������ ���� �������� �������� ������� �� ����������.

�������� ������ � ���������

��� ��� ����� ������� ����, �������� ������ � ��� ������ ��������:

����� �� ���������� �������� �����, CVS ����������, ��� ����� ����� ����� �� ����������. �������, �� ����� ������������ �� ����� ������ � �� ������������ �� ������, ��� �� ����� ������������ �������� ������ ���� � ��� �� ����� ������. CVS ��������� ������� ��� �� ������ ��������� ����, ����������� �� ������ ��������� ������ -r ��� -D, �������� � �������� checkout ��� update.

��� ������ �������� ���������� ������:

$ cd test
$ rm *.c
$ cvs remove
cvs remove: Removing .
cvs remove: scheduling a.c for removal
cvs remove: scheduling b.c for removal
cvs remove: use cvs commit to remove these files permanently
$ cvs commit
cvs commit: Examining .
cvs commit: Committing .

��� �������� ����� ������� ����� � ������������ ������ cvs remove, ��������� ���� ��������� ������ -f.

� �������� �������� ��������� � ���-�� ������� �������� ������ --- �� �� ������, ����� ������� ����������� � ������� ������� ��������, �� �� ������ �����, ����� ����� ���� ��������� ������ ������ �������, � ������� ��� ����������� �������.

����� ������� �������, ������ ��� ����� � ���. ��� ������� ������� ��� �������. ������ ����� �� ������� �������� cvs update, cvs checkout ��� cvs export ���� ��������� ������ -P, ������� �������� CVS ������� ������ �������� � ������� ��������. ��������, ����� ����� ����� ������ ��������� -P, ���� �� ������, ����� ����������� ������ �������, ��������� � ���� ������ ����, ��������, .keepme, ����� �� ���� CVS � ������ -P ������� ���� �������.

����������� � �������������� ������

����������� ������ � ������ ������� ��� �������������� �� ��������, �� ��������� ������� ����� ���� ������������. ��������������, ��� ���� old ����������������� � new. ������� �������� ����������� ����� � CVS �������� ����������� oldnew, � ����� ���������� ������ CVS ��� �������� ����� old �� ����������� � ���������� ���� ����� new.

$ mv old new
$ cvs remove old
$ cvs add new
$ cvs commit -m "old ������������ � new" old new

��� ����� ������� ������ ����������� ����, �� �� ��������� �������, � ��������� ������� ����������� ��������. ��������, ��� ��� ������� � ������� ����� ����� ������� ������ ��� ����� ���, � ����������� �� ������� �������, � �������� �� �����������. ��������, cvs log old ������ ������ ������ �� ������� ��������������.

����� new �����������, ��������� ��� ������� �������� � ����, ������ � 1.1, ������� ���� ��� ��� �� ��������, ����������� ���� ��������� ������ -r ����� ������� commit.

�������� �������

����� ����, ��� �� ������ �������������� CVS ��� �������� ���������� �� ������� ���������: ����� �����, �����, ��� � ��� �������, ��� ����������� ������������� ��������� ��� ��������� �������.

���������� ������

������ ���, ����� �� ���������� ��������� � �����, ��� ������������ ������� ��������������� ���������� ������. ��� ����, ����� ����������� ���������� ������, ����������� �� ���� ������ ������� ���������� � ���� �������������, ����������� ������� cvs log.

���� �������

�� ������ ������������ ���� history, ����� ������������� ������������� �������� CVS. ����� ������� ���������� �� ����� history, ����������� ������� cvs history.

������� � �����

�������

������ ������� ����� ����� ���������� ����� �������. ������ ������� �������� ��� 1.1, 1.2, 1.3.2.2 ��� ���� 1.3.2.2.4.5. ����� ������� ������ �������� ������ ���������� ���������� �����, ����������� ������. �� ��������� ������� 1.1 -- ������ ������� �����. � ������ ������ ��������� ������� ����� ������ ����� ������������� �� �������. ��� ������ ���������� �������, ����� ������ ��������� ������ ������:

       +-----+    +-----+    +-----+    +-----+    +-----+
       ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !
       +-----+    +-----+    +-----+    +-----+    +-----+

��� ������� ����, � ����� ����� ���� ��������� �������. � ������������ �������� ����� ���� ��������� ������. ����������� ��������� ������ ���� ������ ������ ���� 4.1.1.

�� ���������, CVS ��������� ����� �������, �������� ������ ����� � ���������� ������. ��������, 1.1, 1.2, 1.3.

��� ���������� ������ ����� ������ ����� ������ ����� ��������, � ������ ����� ����� ��������� ����� ������� ������ ����� ������ ������� ������� ����� � ��������. ��������, ���� � �������� ��������� ����� � ��������� 1.7, 3.1, 4.12, �� ����������� ���� ������� ����� ������� 4.1.

������ ���������� �� ��������� ���������� � ������� ������� --- ����� ������ � ���, ��� � ��������� �������, �� �������� ������ CVS, � ����� � ������, �������������� ������� ������ ���������, ��������, ������ 1 ������ �������� �� ������ 2. ������, ���� �� ������ ���������� ����� �������, ��� ������� ���� ��������� ������ -r ������� cvs commit.

��������, ��� ����, ��� ������ ���� ����� ������, ������� ��, ��� �� ����������, ����� ������� 3.0, ��������� �������

$ cvs commit -r 3.0

��������, ��� �����, ������� �� ���������� ������ � ������ -r, ������ ���� ������ ������ ������������� ������ �������. ������, ���� ���������� ������� 3.0, �� �� ������ ������� cvs commit -r 1.3.

�� ������ ������������ ������� tag, ����� ������ ��������� ��� ������������ ������� �����. �� ������ ������������ ���� ��������� ������ -v ������� status, ����� ������� ��� �����, ������� ����� ����, � ����� ����� ������ ������� ��� ������������. ����� ����� ������ ���������� � ����� � ����� ��������� �����, ����� � ����� -_. ��� ����� ����� BASEHEAD ��������������� ��� ������������� � CVS.

� ������������� ������� ��������, ��� �������� ����� � �����. ������� ������ ����������� ������ ������ �������� ��������, �� ���� ���, ��� ��������� ���� backend.c.

$ cvs tag rel-0-4 backend.c
T backend.c
$ cvs status -v backend.c
===================================================================
File: backend.c         Status: Up-to-date

    Version:            1.4     Tue Dec  1 14:39:01 1992
    RCS Version:        1.4     /u/cvsroot/yoyodyne/Web-SynDic/backend.c,v
    Sticky Tag:         (none)
    Sticky Date:        (none)
    Sticky Options:     (none)

    Existing Tags:
        rel-0-4                     (revision: 1.4)

������� checkout ����� ���� ��������� ������ -r, ����������� ������� ������������ ������� ������. ���� ���� �������� ���������� ��������� ������, �� �������� ������� ������ 1.0 ������ Web-SynDic � �����-������ � �������.

$ cvs checkout -r rel-1-0 Web-SynDic

��� �������, ��������, ���� ���-�� ��������, ��� � ��� ������ ���� ������, �� �� �� ������ ����� �� � ������� ������� �����.

�����

CVS ��������� ����������� ��������� � ��������� ����� ����������, ���������� ������. ����� �� ��������� ����� �� �����, ��� ��������� �� ���������� � �������� ������ ��� �� ������ ������.

����� �� ������ ����������� ��������� � ����� ����� �� ������ ��� �� � ����� � �����, ��� ���������� ��������. ������� ����������� cvs update -j, ����� ����� ��������� � ������� �������, � ����� ��� ��������� ����� �������������, ��� ���������� �������� � ����������� ��������� �� ������ �����.

�����������, ��� ������� Web-SynDic ������ 1.0. �� ����������� ��� ����������, �������� ��������� ������ 1.1 ����� ���� �������. ����� ��������� ����� ���� ������������ �������� ���������� �� ��������� ������. �� ���������� ������ 1.0 � �������� ������, ��� ����������� ������� ��������� ����� ���� ����������� ���������. ������ ��, ������� ������ ���������� ��������� � ������ ������������ ��������� � �� ��������������� �� ������� ���� ��� �����. �� �� ������ ��������� ������������ ������, ����������� �� ������ ����������.

� �������� �������� ����� ����� ������� ����� � ������ �������, ���������� �����, �� ������� �������� ������ 1.0. ����� �� ������� ��������� � ����� ��� ��������� � �������� �����. ����� �� ������� ���� ������ �� �� ����� ��������� � �������� �����, ���� �������� �� ������ �� �����.

�� ������ ������� �����, ��������� cvs tag -b. ��������, ���� �� ���������� � �������� � ������� ������:

$ cvs tag -b rel-1-0-patches

��� ��������� �����, ���������� �� ������� ������� ������� �����, � ����������� ���� ����� ��� rel-1-0-patches.

�� ������ ������� ����� ����� ���������: �������� �� �� ����������� � ������ �������� ��� ���������� ������������ ������� ����� �� �����.

��� ����, ����� ������� ����� �� �����������, ��������� ������� checkout � ������ ��������� ������ -r, � ������ ����� � �������� ���������.

$ cvs checkout -r rel-1-0-patches Web-SynDic

���� � ��� ��� ���� ������� �����, �� ������ ����������� �� �� ������ ����� � ������� update -r:

$ cvs update -r rel-1-0-patches Web-SynDic

�������, ��� ������� ����� ���� ��������� �� ��������� ������ ��� �����-������ ������ �����: ��������������� ������� ���������� �� �� ��������� �����. ������� ������� ������� update, update -r ������� ��������� ���������, ��������� ��� � ������������ ����������.

����� �� ���������� ������� ����� � �����-���� ������, ��� ����� ���������� ���������, ���� �� �� ������� ���������. ��� ��������, ��� ���������, ������� ����������� �� ������� �����, ����� ��������� ����� ������� �� �����, �������� ��� ��������� �������� ����� � ������ �����.

����� ������, �� ����� ����� ��������� ������� �����, ����� ������������ ������� status.

�� ���������� ���, ��� ������ ������ ��� ������� ����� �������� (1.7.21.4.2, ��������������). ����� ����� ���� � �� ��, rel-1-0-patches, � ��� ����� ������������� ��������� �� ����� � ��� �� �����. ������ ���� �������� �� ����� � ������� �����, � ������� ��������� �����. �� ���������������� ������� ����� ������, ��� ����� ���, ��� ���� ������� �����, driver.c ��������� ������ ���������, ��� backend.c.

������ ������� ������� ����� -- ��� �������� ������������ ������������������ �������:

       +-----+    +-----+    +-----+    +-----+    +-----+
       ! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !
       +-----+    +-----+    +-----+    +-----+    +-----+

������ ��, CVS �� ��������� �������� �����������. ������ ������� ����� ���� ���������� �� �����, ��� ������ ����� -- ��������������� ����� ����������. ���������, ��������� �� ����� �����, ����� ����� ���� ������� ����� � � �������� �����.

������ ����� ����� ����� �����, ��������� �� ��������� ����� ���������� �����, ����������� �������. ����� ����� ��������� ����� ���������� ������ ����� � ������ �������, �� ������� ���� ��������� �����. ������ ����� ��������� ��������� �� ����� � ��� �� ������� ��������� �����.

��� ������� �� ����� ����� ������ �������, ������������ ����� ���������� ����������� ������ � ������ �����. ��� ����������� �������� �����.

                                                   +-------------+
                           Branch 1.2.2.3.2 ->        ! 1.2.2.3.2.1 !
                                                    / +-------------+
                                                   /
                                                  /
                 +---------+    +---------+    +---------+
Branch 1.2.2 -> _! 1.2.2.1 !----! 1.2.2.2 !----! 1.2.2.3 !
               / +---------+    +---------+    +---------+
              /
             /
+-----+    +-----+    +-----+    +-----+    +-----+
! 1.1 !----! 1.2 !----! 1.3 !----! 1.4 !----! 1.5 !  <- The main trunk
+-----+    +-----+    +-----+    +-----+    +-----+
                !
                !
                !   +---------+    +---------+    +---------+
Branch 1.2.4 -> +---! 1.2.4.1 !----! 1.2.4.2 !----! 1.2.4.3 !
                    +---------+    +---------+    +---------+

������ �� ��������� ������������ � ������ ������� ����, ��� �������� ������ �����, �� ��� ��� �����������: ����� CVS ������� ����� �����, �� ����� ������ ���������������� ������ �����, ������� � ������. �������, ���� �� ������ ������� ����� �� ������� 6.4, ��� ����� ���������� 6.4.2. ������ �����, ��������������� �� ���� (��������, 6.4.0), ������������ ��� ���������� ���� CVS. ����� 1.1.1 ����� ����������� ��������.

��� � ������� CVS ������� �� ������������� �������.

��� ����, ����� �������� ������������� ������� ��������, ������� �������, �� ������ ������� ����� �������.

�������: cvs watch on [-lR] ����� ...

������� ��������, ��� ������������� ����� ��������� ������� cvs edit ����� ��������������� ������. ��� ����, ����� ��������� �� ���� �������������, CVS ������� ������� ����� ������ � ������ ������ ��� ������.

���� ����� ������ ���� ��� ��������, CVS �������� �������� �� ���� �������, ������������ � ��������������� �������� ����������� � ������������� �������� ����� �������� �� ����� �������, ������� ����� � ���������� ��������� � �������; ��� ��������� ������������ ������ ��������� ����������� ��� ������� ��������. ���������� �������� �������������� ����������, ���� ������ �� ����� ���� ��������� ������ -l. ���� -R ��������� �������� ����������� ���������, ���� � ����� ~/.cvsrc ��� ���� ��������� � ������� ����� -l.

���� ������ ������ ��������, �� ��������� �������������� ������� �������.

�������: cvs watch off [-lR] ����� ...

������� ��������, ��� ��� ���������� �� ����� ��������� ����� � ������ ������ ��� ������; ����� �������, ������������ �� ����� �������� ����������� � ������������� ������������� cvs editcvs unedit.

����� � ����� ��������� ������ �������������� ����� ��� ��, ��� � ��� cvs watch on.

��� ������������� �����, �� �������� ���������?

��� ��� ����, �� ������� ������ ���-����, ����������� � ������ ������ ��� ������, �� �� �� ������ ������ ����� � ��������������� ���. ��� ����, ����� ������� ��� ��������� ��� ������ � �������� ���������, ��� �� ���������� ��������������� ���� ����, ����������� ������� cvs edit. ��������� ������� �������� ��� ����������, �� ������������ CVS ��� ���������� ���� ������ � ������ "��������� ����� �������� �������", � ��� ��������, � ���� �������, ������ ������� �������� �����.

�������: cvs edit [�����] ����� ...

����������� ��� �������������� ������� �����. CVS ������ ����� ���������� ��� ������ � ������ � ���������� �������������, ������� ����������� � �������������� ������-������ �� ��������� ������.

������� cvs edit ��������� ����� �� ����� ��������� ������, ��� � ������� cvs watch add, � ������������� ��������� �������� �� ������� ��� ������������; CVS ��������� ��������, ����� ����� ��������� ������� unedit ��� ������� commit. ���� ������������ �� ����� �������� �����������, �� ������ ������� ���� -a none.

����� � ����� ��������� ������ �������������� ����� ��� ��, ��� � ��� ������� cvs watch.

������, ����� �� ��������� �������������� ������, ����������� ������� cvs commit, ������� �������� ���� ��������� � ������ �����, �� �������� ������������� ��������, � ������� ��������� ������ ��� ������. ���� �� �� ������ ����� ������ �������� ���������, ��� ������ �� ������� ������ ������, ����������� ������� cvs unedit.

Command: cvs unedit [-lR] files ...

��������� ��� ��������� � ������� ������ files � �������� �� � ������������ � �������� � �����������. ���� ���-���� �������� ����������� �� ���������� �����-���� ������, �� CVS ������ ��� ����� ���������� ������ ��� ������. CVS ���������� �������������, ������� ��������� ����������� � ������� unedit.

����� ��������� ������ � ������ ������ �������������� ����� ��� ��, ��� ��� ������� cvs watch.

���� �������� �� ������������, ������� unedit, ��������, �� ��������, � ������������ ������ ������� ���� � �� ���������, � ������� �� ��������� � ����������� -- ������� ��� � ������������ cvs update ��� ��������� ����� �����. ��������� ���� �������� ��������� ������� unedit: �������� � ���������� ����� ������ ����� � ���������, ������� ���� �������� � ����������� � ��� ���, ��� �� � ��������� ��� ��������� ���� ������� �����.

��� ������������� �������� CVS �� ������ ������������ ������� cvs editcvs unedit, ���� ���� CVS �� ������ ������� ����������� � ��������. ����������� ����� ������� ��� ��������� �������� ���������� �����-���� ������� CVS.

���������� � ���, ��� ������ � ��� �����������

�������: cvs watchers [-lR] files ...

������ ������ �������������, ������� ����������� ��������� � files. ���������� ����� ������ � �������� ������ ������� ���������.

����� ��������� ������ � ������ ������ �������������� ��� ��, ��� � � ������� cvs watch.

�������: cvs editors [-lR] files ...

������ ������ �������������, ������� � ������� ������ �������� ��� ������� files. ���������� �������� ������ �������������, �����, ����� ������������ ����� ������ � ������, � ����� ������ � ������� ������� �� ���, � ������� ��������� ������ ����.

������ ������ � ����� ��������� ������ �������������� ����� ��� ��, ��� � � ������� cvs watch.