cvs.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 22 Feb 2016 13:34:05 +0200
changeset 1910 123f59618e87
parent 1905 fba288d59662
child 1912 8b81a8f0f692
permissions -rw-r--r--
Fix: center TOC (after adding :local:).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1334
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1029
diff changeset
     1
.. -*- coding: utf-8; -*-
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1029
diff changeset
     2
.. include:: HEADER.rst
1028
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
======
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
 CVS.
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
======
1029
6a3ddfb01763 Add contents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1028
diff changeset
     7
.. contents::
1905
fba288d59662 Include only local subsections into TOC. This prevent duplication of
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1830
diff changeset
     8
   :local:
1028
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
CVS via proxy server.
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
=====================
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
::
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
  $ cvs -d:pserver;proxy=$proxyhost;proxyport=$proxyport:$cvsuser@$cvsdomain:/$repo
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
Create CVS Repository.
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    17
======================
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
::
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
  $ export CVSROOT=/srv/cvsroot
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
  $ cvs init
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
  $ groupadd cvs
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
  $ useradd -m -g cvs -s /bin/sh -c "CVS Repository"  cvs
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
  $ chown -R cvs $CVSROOT
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
  $ chgrp -R cvs $CVSROOT
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
  $ chmod -R g+s $CVSROOT
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
  $ grep cvs /etc/services && echo OK
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
  cvspserver      2401/tcp              # CVS client/server operations
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
  cvspserver      2401/udp              # CVS client/server operations
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
  $ echo '# CVS server
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
  cvspserver  stream  tcp  nowait  root  /usr/bin/cvs cvs --allow-root=/usr/local/src/cvsroot pserver' \
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
      >/etc/inetd.conf
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
  $ killall -HUP inetd                  # signal inetd daemon to re-read the config file
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    38
  $ ls $CVSROOT/CVSROOT
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    39
  readers                   # list of pseudo usernames that can read via cvspserver
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
  writers                   # list of pseudo usernames can write via cvspserver
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
  passwd                    # encrypted passwd string with (htpasswd from apache)
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
CVS workflow.
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
=============
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    45
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    46
Check out sources::
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    47
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    48
  $ cvs co -P $proj
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    49
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    50
Status of changes::
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    51
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    52
  $ cvs status
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    53
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    54
Compare local changes::
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    55
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    56
  $ cvs diff -u $path
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    57
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    58
Creating patch::
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    59
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    60
  $ cvs diff -N -u -r >$patch
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    61
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    62
History of changes::
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    63
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    64
  $ cvs log $file
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    65
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    66
Remove a file::
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    67
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    68
  $ rm $file            # must first remove it locally
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    69
  $ cvs rm $file        # schedules it for removal
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    70
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    71
Add a file::
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    72
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    73
  $ cvs add $file
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    74
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    75
Check in local changes::
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    76
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    77
  $ cvs ci
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    78
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    79
Update local sources::
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    80
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    81
  $ cvs update
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    82
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    83
Move a file can not be done cleanly at the local level. The best way to do this
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    84
with CVS is to go to the cvsroot repository and move the file or directory
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    85
within the repository there. The cvsroot repository keeps all files in their RCS
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    86
form of filename,v . The next cvs update will manifest the file move.
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    87
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    88
Tagging sources::
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    89
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    90
  $ cvs tag $name
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    91
  $ cvs rtag $name
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    92
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    93
Revert file::
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    94
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    95
  $ rm $file            # remove it from local sources
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    96
  $ cvs update $file    # get a new copy from the repository
a4eafc97715b Fix mistype.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    97
1829
f001ff60c027 Working with CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1437
diff changeset
    98
Working with CVS branches.
f001ff60c027 Working with CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1437
diff changeset
    99
==========================
1436
b069e5cd5e90 List of CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   100
1830
b4a5c76521df Fix typo.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1829
diff changeset
   101
There are no direct command to list symbolic names for branches but this command
b4a5c76521df Fix typo.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1829
diff changeset
   102
allow extract such info::
1436
b069e5cd5e90 List of CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   103
b069e5cd5e90 List of CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   104
  $ cd $CVS_PROJ
b069e5cd5e90 List of CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   105
  $ cvs rlog -l -h -b $(cat CVS/Repository)
b069e5cd5e90 List of CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
   106
1830
b4a5c76521df Fix typo.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1829
diff changeset
   107
Switch to branch::
1829
f001ff60c027 Working with CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1437
diff changeset
   108
f001ff60c027 Working with CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1437
diff changeset
   109
  $ cvs up -r $BRANCH
f001ff60c027 Working with CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1437
diff changeset
   110
f001ff60c027 Working with CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1437
diff changeset
   111
Update to HEAD::
1437
caeb534c6e59 Update to HEAD.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1436
diff changeset
   112
caeb534c6e59 Update to HEAD.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1436
diff changeset
   113
  $ cvs up -A
caeb534c6e59 Update to HEAD.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1436
diff changeset
   114
1829
f001ff60c027 Working with CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1437
diff changeset
   115
Replace head::
f001ff60c027 Working with CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1437
diff changeset
   116
f001ff60c027 Working with CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1437
diff changeset
   117
  $ cvs up -j$HEAD -j $NEWBRANCH
f001ff60c027 Working with CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1437
diff changeset
   118
f001ff60c027 Working with CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1437
diff changeset
   119
Replace branch::
f001ff60c027 Working with CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1437
diff changeset
   120
f001ff60c027 Working with CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1437
diff changeset
   121
  $ cvs up -j$OLD -j $NEW
f001ff60c027 Working with CVS branches.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1437
diff changeset
   122