并发版本系统
(重定向自 CVS)
来自 https://www.nongnu.org/cvs/
- 并发版本系统是一个版本控制系统,是源代码配置管理 (SCM) 的重要组成部分。 使用它,您可以记录源文件和文档的历史记录。 它的作用类似于自由软件 RCS、PRCS 和 Aegis 软件包。
更新的替代方案列在 Category:Version control system 中。
客户端
如果您想连接到 cvs 服务器,请安装 cvs 并按照该服务器所有者的说明进行操作。 例如 https://www.openbsd.org/anoncvs.html。
图形前端
- Cervisia — CVS 的 GUI。 是 kde-sdk 的一部分。
服务器
这是一个关于如何设置最新 CVS 服务器的快速指南。
安装
创建 cvs 用户组 - 该组的成员将拥有对仓库的写入权限
# groupadd cvs
在 cvs 组中创建 cvs 用户(-md
创建主目录)
# useradd -md /home/cvsroot -g cvs -p Insecure0 cvs
初始化
初始化您的 CVS 仓库(以 cvs 用户身份)
cvs% cvs -d /home/cvsroot init
目录的权限(但不是内部文件)应为 2775 (drwxrwxr-x),但如果不是,请运行(以 cvs 用户身份)
cvs% chmod 2775 /home/cvsroot
通过以下两个步骤,将您希望拥有本地仓库访问权限的任何用户添加到 cvs 组。 您可以使用以下命令将预先存在的用户添加到 cvs 组
# gpasswd -a username cvs
创建一个 xinetd 配置文件
/etc/xinetd.d/cvspserver
service cvspserver { port = 2401 socket_type = stream protocol = tcp wait = no user = root passenv = /home/cvsroot server = /usr/bin/cvs server_args = -f --allow-root=/home/cvsroot pserver }
确保在 /etc/services
中有以下行(如果没有则添加)
cvspserver 2401/tcp
取消设置 HOME
变量
# unset HOME
并重启 xinetd.service
。
配置
以 cvs 用户身份,在 ~/CVSROOT
中创建一个 passwd
文件。 要在文件中添加条目,您可以使用 htpasswd 命令(存在于 apache 软件包中),如下所示
htpasswd -b filename username password
然后编辑该文件并添加组,例如
# Format is username:password:group anonymous:: archie:HopefullySecure0:cvs other:Insecure0:cvs
现在在 ~/CVSROOT
中创建一个 writers
文件,该文件授予您在 passwd
中创建的用户写入权限
archie other
现在在 ~/CVSROOT
中创建一个 readers
文件,该文件授予您在 passwd
中创建的用户读取权限
anonymous
注意: 如果用户存在于 readers 文件中,则他们也不能拥有写入权限。
用法
您可以使用以下命令测试服务器
$ export CVSROOT=:pserver:my_user_name@127.0.0.1:/home/cvsroot $ cvs login $ mkdir ~/sandbox $ mkdir ~/sandbox/myproject $ cd ~/sandbox/myproject $ echo "this is a sample file" > myfile $ cvs import -m "description of myproject" myproject v1 r1 $ cd .. $ rm -R myproject $ cvs checkout myproject $ cd myproject $ echo "some changes to the file" >> myfile $ cvs commit -m "Explain changes here" myfile