Read Sean

Read me, read Sean.
posts - 508, comments - 655, trackbacks - 9, articles - 4

之前项目一直使用Win32环境的CVSNT做源代码版本管理,终于有一天受不了Windows下面跑CVS的性能(一方面CVS很慢,另一方面做CVS服务器的机子也被拖累了),下定决心把CVS搬到Linux环境下。

以下简单记录一下在Dapper Drake上安装和配置CVS的步骤,供大家参考(由于服务器在内网,无法使用Debian系统下方便而强大的apt-get,只能手动下载了):

1- 下载和Dapper Drake匹配的CVS版本cvs_1.12.9-17_i386.deb,建议从国内比较快的ubuntu.cn99.com的源上拿,路径是/pool/main/c/cvs/cvs_1.12.9-17_i386.deb;

2- 下载xinetd包,同上/pool/main/x/xinetd/xinetd_2.3.14-0ubuntu1_i386.deb;

3- sudo -s转成root;

4- dpkg -i cvs_1.12.9-17_i386.deb;

5- dpkg -i xinetd_2.3.14-0ubuntu1_i386.deb;

6- 为你的CVS资源库选择一个目录,比如mkdir /MyCVS;

7- cvs -d /MyCVS init 初始化该CVS资源库;

8- vi /etc/xinetd.d/cvspserver,添加
service cvspserver
{
     port = 2401
     socket_type = stream
     protocol = tcp
     user = root
     wait = no
     type = UNLISTED
     server = /usr/bin/cvs
     server_args = -f --allow-root /MyCVS pserver
     disable = no
}

9- /etc/init.d/xinetd start;

10- 开始配置CVS用户,最简单的方式就是采用Linux自己的用户/文件系统权限管理机制,我的做法是添加一个专门的用户组dev,然后往里面加用户,最后修改CVS资源目录的权限:
# addgroup dev
# adduser username
# adduser username dev
# chown -R username:dev /MyCVS
# chmod -R 775 /MyCVS
暂时用775,今后可以根据需要再细化每个文件/文件夹的细节权限;

11- exit 退出sudo -s模式;

12- 打开你熟悉的CVS客户端开始享用新的CVS服务器吧,相信它的性能相比较Win32下的CVSNT,一定会给你带来惊喜:D。


Feedback

# re: [Tips] 在Ubuntu Linux 6.06 LTS (Dapper Drake)上安装CVS服务  回复  更多评论   

2007-03-12 11:27 by 困惑的人
我将cvs资源库移到redhat linux下,发现可以checkout,历史信息也正确,但是象word、excel文件在客户端却打不开,不知道什么原因,高手能指点下吗?

# re: [Tips] 在Ubuntu Linux 6.06 LTS (Dapper Drake)上安装CVS服务  回复  更多评论   

2007-03-12 13:49 by 大胃
你的Word/Excel文件的文件名是中文?

# re: [Tips] 在Ubuntu Linux 6.06 LTS (Dapper Drake)上安装CVS服务  回复  更多评论   

2007-03-12 14:23 by 困惑的人
是的。我发现我check in新的word或者excel文件是可以打开的(文件名是中文)

# re: [Tips] 在Ubuntu Linux 6.06 LTS (Dapper Drake)上安装CVS服务  回复  更多评论   

2007-03-12 14:44 by 大胃
中文Windows默认是GBK的编码,所以文件名保存的就是GBK来编码的,而通常Linux发行版默认都是UTF-8编码,直接文件copy过去就会出现文件名乱码的情况,而文件内的编码不会受影响。

我估计你先前打不开文件是因为文件名出现乱码,之后新上传的文件由于是通过新的CVS服务器处理的,文件名编码不会有问题。

# re: [Tips] 在Ubuntu Linux 6.06 LTS (Dapper Drake)上安装CVS服务  回复  更多评论   

2007-03-12 16:14 by 困惑的人
我刚在windows下试验性的建了个库,放了一个非中文的文件名,一个是中文文件名。然后我把库再次移到linux下,checkout后发现两个文件还是打不开。看来应该不是encoding的原因。

# re: [Tips] 在Ubuntu Linux 6.06 LTS (Dapper Drake)上安装CVS服务  回复  更多评论   

2007-03-14 22:08 by 大胃
不好意思最近工作很忙,没有及时回复。

可以问一下你在从Windows往Linux拷贝资源库是直接整个目录拷贝还是打包后拷贝然后解压呢?据我所知通过Samba直接拷贝文件的话,文件名编码会从Windows的GBK转到你的Linux环境下的编码(我这里是UTF-8).

等有机会我也在我的环境中测一下。

# re: [Tips] 在Ubuntu Linux 6.06 LTS (Dapper Drake)上安装CVS服务  回复  更多评论   

2007-03-15 10:10 by 大胃
实测下来,确实很恶心,不论是打包拷贝,还是直接拷贝,.doc文档在移植过程中就像是被损坏了一样。

实在没办法,就重做一份放上去吧,最保险的方式就是重新共享到Linux下的新CVS资源库。这样以后在Linux平台备份打包恢复的话不会有任何问题。

# re: [Tips] 在Ubuntu Linux 6.06 LTS (Dapper Drake)上安装CVS服务  回复  更多评论   

2007-04-14 16:01 by 大胃
类似问题不仅出现在.doc,所有CVSNT下标记为"Binary"的文件搬到Linux下经典CVS服务器都会丢失该标记信息。

http://www.blogjava.net/sean/archive/2007/04/14/110640.html

只有注册用户登录后才能发表评论。


网站导航: