AIX5L上安装和配置CVS全攻略
来源:互联网 发布:广联达钢结构详图软件 编辑:程序博客网 时间:2024/05/23 00:00
一、AIX5上CVS的安装
首先获取CVS的安装介质,可以到官方网站上下载:http://www.cvshome.org/ ,这里我下载的是cvs-1.11.22.tar.gz(注意要下载source源包,而不是二进制包)。上传到AIX服务器上并解压。但在安装过程中发现需要事先安装gcc编译器,因此如果服务器上没有安装,还需要安装gcc编译器(见我的另一篇文章AIX5上如何安装gcc编译器)。以root用户执行以下命令
cd cvs-1.11.22
./configure (如果没有事先安装gcc编译器,这一步将会报错)
make
make install
这里CVS就会自动安装到 /usr/local/bin下
可以在/usr/local/bin下执行cvs检验CVS是否安装成功
二、AIX5上CVS的配置
1、创建用户和组
利用smitty 创建用户cvsroot和组cvs并将用户cvsroot添加到cvs组中,然后为cvsroot设置密码,cvsroot用户即为CVS服务器的管理员,并保证cvsroot用户的PATH环境变量中包含路径/usr/local/bin
2、初始化CVS服务器的根目录
su - cvsroot
cvs -d /home/cvsroot init
这样/home/cvsroot目录就成为CVS服务器的根目录,以后创建的目录都将默认的存放在这个目录下。
3、配置服务
修改文件/etc/services,查找是否有如下两行,如果没有则添加:
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
cvs服务由inted来唤起,因此需要改动inetd提供的服务,修改文件/etc/inetd.conf,添加:
cvspserver stream tcp nowait root /usr/local/bin/cvs cvs -f --allow-root=/home/cvsroot pserver
4、重启服务
$stopsrc -s inetd
$startsrc -s inetd三、WinXP下WinCVS的安装与配置
5、查看2401端口
$netstat -a|grep cvs
tcp4 0 0 *.cvspserv *.* LISTEN
6、配置cvs环境
在 cvs 管理员用户的HOME目录里有一个 CVSROOT 目录,这个目录里有三个配置文件,passwd, readers, writers,可以通过设置这三个文件来配置 CVS 服务器,下面分别介绍这几个文件的作用:
passwd:cvs 用户的用户列表文件,它的格式很象 shadow 文件:
{cvs 用户名}:[加密的口令]:[等效系统用户名]
readers:有 cvs 读权限的用户列表文件。就是一个一维列表。在这个文件中的用户对 cvs只有读权限。
writers:有 cvs 写权限的用户的列表文件。和 readers 一样,是一个一维列表。在这个文件中的用户对 cvs 有写权限。
注意:如果用户同时在readers和writers文件存在,则这个用户只有read的权限而没有write的权限。
创建可以登陆cvs服务的用户及密码,需要创建文件passwd
vi /home/cvsroot/CVSROOT/passwd
文件内容如下:
steven:xxxxx:cvsroot
其中,xxxxx为密码密文,可以通过在smitty中新建一个临时用户,为其设置口令,然后在/etc/security/passwd中查看获得。也可以使用如下的脚本来得到加密后的密码:
1 #!/usr/bin/perl
2 srand (time());
3 my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
4 my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
5 my $plaintext = shift; my $crypttext = crypt ($plaintext, $salt);
6 print "${crypttext}n";
7、在Unix/Linux客户端就可以通过以下方式连接到服务器端
cvs -d :pserver:steven@10.82.66.48:/home/cvsroot login
提示输入密码,如果提示failed to open //.cvspass for reading: No such file or directory,则touch .cvspass创建一个文件即可。
三、 Unix/Linux环境下CVS的操作说明
(1) 登录CVS Server
%cvs login
CVS password: ******
注: 如果此时提示.cvspass文件不存在,只要手工创建一个即可: %touch .cvspass
(2) 查看帮助
% cvs --help
%cvs –help-options
%cvs –help-commands
(3) 导入项目到服务器
格式: cvs import [-m "描述"] 项目名 厂商名 标记
-m "描述" 为导入操作指定描述信息。实际上 -m 参数是一个公共参数,可以为所有需要描述信息的命令指定描述信息。如果不加这个参数,cvs 会自动启动记事本程序,要求你输入描述信息。参考:如何为 cvs 操作指定描述信息
项目名 cvs 服务器会根据这个名字在 cvs 服务器上创建一个目录来保存所有导入的文件。因此你使用 mydoc/project 这样项目名,将会创建两个目录:mydoc 及其子目录 project。
厂商名 项目厂商的标记。例如 nes 或者 microsoft。
标记 为导入的项目指定一个初始标记。一般使用 init 或者 start,表示项目开始。
说明: 将当前目录下的所有文件(包括子目录)导入到 cvs 服务器上指定的目录中(目录名与项目名相同)。每个项目的第一个操作就是导入 cvs 服务器,以后就不需要对同一个项目再次进行这个操作了。
操作示例: chdir myproject
cvs import -m "导入项目" myproject nes init
(4) 从服务器更新文档
格式: cvs update [-P] [-d]
缩写: cvs up
-P 删除空目录
-d 更新子目录下的所有文件。如果别人向项目中添加了新目录,必须加 -d 参数才能够将这些新目录及其中的文件更新到本地。
操作示例: cvs update -d
说明: 从 cvs 服务器上更新文件到本地,功能与 VSS 的 CheckOut 命令相同。
(5) 检取源代码(将CVS服务器端的源代码下载到本地。则本地上的内容为服务器端的一个拷贝)
cvs co [-r tagname/revision] filename|directory
例:%cvs co -r aiobs61_dev products/aiobs/aiip
%cvs co [–D “1 Dec 2002”/2002-12-1/”1 Dec 20:22”] file1
(6) 增加文件或目录到CVS 库中
$ cvs add filename|directory
(7) 提交文件
%cvs ci [-r revision] [ -m”add new functions”] [filename]
增加文件后,需要再执行cvs ci命令,才能完成永久提交。
增加目录后,则不需要再另外执行cvs ci 命令了。
(8) 更新当前工作目录中的文件
%cvs update [-d] [filename]
-d: 取出新增加的目录 = cvs co
(9) 查看文件历史记录
%cvs log [filename]
将给出文件的所有修改记录,版本信息,修改人, 修改时间及更改说明等。
(10) 比较文件
%cvs diff filename
cvs diff可以用来比较本地工作目录和server上的文件,也可以用来比较文件的两个版本之间的差异,实现的是按行比较。对二进制文件则无效。
%cvs diff –r aiobs filename
比较本地和另外一个分支上(分支Tag为aiobs)的文件差异
%cvs diff -D 2002-1-3 -r cbs_rm ora.sql
比较某个日期与某个分支下的文件差异
(11) 显示文件的当前状态
$cvs status filename
常见三种状态:Up-to-date, Need-patch, Locally Modified
Up-to-date:表示该文件已经与CVS服务器端的最新版本是一致的
Need-patch:表示该文件的本地版本低于服务器端的最新版本,需要从服务器端下载更新的版本
Locally Modified:表示该文件在本地已经做过修改了,但还没有提交到服务器上
(12) 删除文件------分三步
%rm filename (先从工作目录中删除)
%cvs remove filename (从CVS中删除)
%cvs commit filename (永久删除)
(13) 删除目录
首先将目录中的所有文件从cvs中删除
% cd ..
% cvs update –p
-p: 告诉update从工作目录中删除这些空目录
即删除了目录下的所有文件,则CVS认为该目录已经被删除了
(14) 给产品/模块打tag
相当给产品或者模块做一个标签或快照
cvs rtag tagname products/module
或 cvs tag tagname products/module
以上两个命令功能相似,区别在于rtag直接到CVS服务器端为源代码加Tag,而使用cvs tag命令则需要事先把源代码checkout到本地。
(15) 建立分支
cvs rtag –b tagname products/module
或cvs tag –b tagname products/module
建立分支常用于程序bug的跟踪、修复。执行cvs tag/rtag命令时,如果使用-b参数,则表示该Tag是一个分支Tag,用户使用这个Tag可以对程序进行修改和提交。而如(12)中建立的普通Tag则只能做查询用。
四、WinCVS的安装配置请参考http://www.8848software.com/wincvs/
这里已经说的很详细了,不过要注意的是WinCVS登录时所用的用户名是在AIX上创建的,并且要在安装完WinCVS之后创建的才起作用,否则无法登录!
- AIX5L上安装和配置CVS全攻略
- CVS安装全攻略
- CVS安装全攻略
- nagios全攻略(二)----基本安装和配置(上)
- AIX5L上安装GCC编译器
- IIS 安装配置全攻略
- IIS 安装配置全攻略
- phpMyAdmin配置安装全攻略
- nagios全攻略(二)----基本安装和配置(下)
- CVS安装配置和使用手册
- IIS安装及配置全攻略(转载)
- JBuilder5 + Weblogic 6.0 安装配置全攻略
- WebSphere服务器安装配置全攻略
- PHP开发环境安装配置全攻略
- Chrome OS安装配置全攻略
- Chrome OS安装配置全攻略
- Android-x86虚拟机安装配置全攻略
- Android-x86虚拟机安装配置全攻略
- 重启电脑代码(转载)
- ultraedit 增加 启动和关闭tomcat命令
- 自己封装socket
- 学MFC有感
- 边框大小跟随iframe内容的高度或者宽度
- AIX5L上安装和配置CVS全攻略
- Tomcat全攻略
- Oracle10gR2的ORA-06512 OLAP错误(转eygle)
- [资源收集]大量程序员学习视频教程
- 数据库中随机获取两条记录
- MSN,QQ你选择哪一个?
- Spring 2.0的NamedParapeterJdbcTemplate
- Frame中Session丢失的解决方法
- AIX5L上安装GCC编译器