cvs.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 22 Feb 2016 12:46:36 +0200
changeset 1905 fba288d59662
parent 1830 b4a5c76521df
child 1912 8b81a8f0f692
permissions -rw-r--r--
Include only local subsections into TOC. This prevent duplication of TOC when build single page HTML document. Also this make unnecessary CSS hack to hide document title as top level section.
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