cvs.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Sat, 24 Sep 2011 15:22:30 +0300
changeset 1006 82775f3c84ba
parent 1005 e74f4bb01379
permissions -rw-r--r--
CVS workflow.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1005
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
     1
-*- coding: utf-8 -*-
439
712355562584 CVS via proxy server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
1005
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
     3
======
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
     4
 CVS.
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
     5
======
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
     6
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
     7
CVS via proxy server.
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
     8
=====================
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
     9
::
439
712355562584 CVS via proxy server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
712355562584 CVS via proxy server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
  $ cvs -d:pserver;proxy=$proxyhost;proxyport=$proxyport:$cvsuser@$cvsdomain:/$repo
712355562584 CVS via proxy server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
1005
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    13
Create CVS Repository.
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    14
======================
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    15
::
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    16
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    17
  $ export CVSROOT=/srv/cvsroot
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    18
  $ cvs init
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    19
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    20
  $ groupadd cvs
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    21
  $ useradd -m -g cvs -s /bin/sh -c "CVS Repository"  cvs
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    22
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    23
  $ chown -R cvs $CVSROOT
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    24
  $ chgrp -R cvs $CVSROOT
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    25
  $ chmod -R g+s $CVSROOT
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    26
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    27
  $ grep cvs /etc/services && echo OK
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    28
  cvspserver      2401/tcp              # CVS client/server operations
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    29
  cvspserver      2401/udp              # CVS client/server operations
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    30
  $ echo '# CVS server
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    31
  cvspserver  stream  tcp  nowait  root  /usr/bin/cvs cvs --allow-root=/usr/local/src/cvsroot pserver' \
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    32
      >/etc/inetd.conf
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    33
  $ killall -HUP inetd                  # signal inetd daemon to re-read the config file
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    34
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    35
  $ ls $CVSROOT/CVSROOT
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    36
  readers                   # list of pseudo usernames that can read via cvspserver
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    37
  writers                   # list of pseudo usernames can write via cvspserver
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    38
  passwd                    # encrypted passwd string with (htpasswd from apache)
e74f4bb01379 Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 439
diff changeset
    39
1006
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    40
CVS workflow.
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    41
=============
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    42
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    43
Check out sources::
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    44
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    45
  $ cvs co -P $proj
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    46
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    47
Status of changes::
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    48
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    49
  $ cvs status
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    50
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    51
Compare local changes::
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    52
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    53
  $ cvs diff -u $path
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    54
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    55
Creating patch::
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    56
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    57
  $ cvs diff -N -u -r >$patch
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    58
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    59
History of changes::
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    60
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    61
  $ cvs log $file
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    62
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    63
Remove a file::
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    64
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    65
  $ rm $file            # must first remove it locally
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    66
  $ cvs rm $file        # schedules it for removal
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    67
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    68
Add a file::
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    69
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    70
  $ cvs add $file
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    71
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    72
Check in local changes::
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    73
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    74
  $ cvs ci
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    75
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    76
Update local sources::
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    77
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    78
  $ cvs update
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    79
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    80
Move a file can not be done cleanly at the local level. The best way to do this
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    81
with CVS is to go to the cvsroot repository and move the file or directory
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    82
within the repository there. The cvsroot repository keeps all files in their RCS
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    83
form of filename,v . The next cvs update will manifest the file move.
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    84
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    85
Tagging sources::
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    86
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    87
  $ cvs tag $name
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    88
  $ cvs rtag $name
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    89
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    90
Revert file::
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    91
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    92
  $ rm $file            # remove it from local sources
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    93
  $ cvs update $file    # get a new copy from the repository
82775f3c84ba CVS workflow.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1005
diff changeset
    94