author | Oleksandr Gavenko <gavenkoa@gmail.com> |
Sun, 25 Sep 2011 17:54:32 +0300 | |
changeset 1009 | be52d3742472 |
parent 1006 | 82775f3c84ba |
permissions | -rw-r--r-- |
1005
e74f4bb01379
Create CVS Repository.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
439
diff
changeset
|
1 |
-*- coding: utf-8 -*- |
439 | 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 | 10 |
|
11 |
$ cvs -d:pserver;proxy=$proxyhost;proxyport=$proxyport:$cvsuser@$cvsdomain:/$repo |
|
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 | 40 |
CVS workflow. |
41 |
============= |
|
42 |
||
43 |
Check out sources:: |
|
44 |
||
45 |
$ cvs co -P $proj |
|
46 |
||
47 |
Status of changes:: |
|
48 |
||
49 |
$ cvs status |
|
50 |
||
51 |
Compare local changes:: |
|
52 |
||
53 |
$ cvs diff -u $path |
|
54 |
||
55 |
Creating patch:: |
|
56 |
||
57 |
$ cvs diff -N -u -r >$patch |
|
58 |
||
59 |
History of changes:: |
|
60 |
||
61 |
$ cvs log $file |
|
62 |
||
63 |
Remove a file:: |
|
64 |
||
65 |
$ rm $file # must first remove it locally |
|
66 |
$ cvs rm $file # schedules it for removal |
|
67 |
||
68 |
Add a file:: |
|
69 |
||
70 |
$ cvs add $file |
|
71 |
||
72 |
Check in local changes:: |
|
73 |
||
74 |
$ cvs ci |
|
75 |
||
76 |
Update local sources:: |
|
77 |
||
78 |
$ cvs update |
|
79 |
||
80 |
Move a file can not be done cleanly at the local level. The best way to do this |
|
81 |
with CVS is to go to the cvsroot repository and move the file or directory |
|
82 |
within the repository there. The cvsroot repository keeps all files in their RCS |
|
83 |
form of filename,v . The next cvs update will manifest the file move. |
|
84 |
||
85 |
Tagging sources:: |
|
86 |
||
87 |
$ cvs tag $name |
|
88 |
$ cvs rtag $name |
|
89 |
||
90 |
Revert file:: |
|
91 |
||
92 |
$ rm $file # remove it from local sources |
|
93 |
$ cvs update $file # get a new copy from the repository |
|
94 |