源代码管理一般包含两个方面的内容:一是多用户之间的共享,二是版本控制。可用的源代码管理软件很多,在Windows平台大部分都是使用VSS,在Linux平台则有CVS和SVN可用(当然,Windows平台也可用),理论上讲,SVN比CVS功能更强大,但是我依然选择使用CVS,原因很简单,就是因为Linux系统已经自带了,随手可得,最简单的就是最好的。 在Linux系统中,CVS并没有客户端和服务器端之分,它管理的大部分都是本地文件。当然,CVS也可以管理远程代码库,而这里的远程代码库也仅仅是指位于另外一台Linux机器上的文件而已。但是,我们的Eclipse中集成的CVS插件明确需要链接到CVS服务器,那么,这个服务器当然是由Linux操作系统担当了。红旗Linux系统在安装后,默认情况下不能作为CVS服务器,必须得进行相应的配置。
第一步,我们需要明确源代码管理的策略,在Linux系统中,这个策略就很简单了,我们只需要为每一个程序员创建一个帐号,让这些程序员都位于同一个用户组,再设置组内用户对属于该组的文件拥有完全控制权限就可以了。我这里的情况是这样的,我的用户名是youxia,主用户组也是youxia,假设和我一起战斗的两个兄弟一个叫onionz,另一个叫fugui,我需要为他们创建账户,并让他们的主用户组也是youxia,如下图:
第二步,我们需要配置Linux操作系统作为CVS服务器,在配置之前,我们需要认识到,Linux系统中的Internet服务往往是由inetd或者xinetd提供的,目前来说inetd已经过时了,绝大部分Linux系统都是使用的xinetd,因此,我们只需对这个程序进行配置,就可以提供我们需要的Internet服务。这个程序的配置是通过配置文件进行的,我们进入/etc/xinetd.d目录,可以看到系统已经提供了很多种服务的配置文件,如tftp、rlogin等,如下图:
打开rlogin文件看看,就基本可以明白该配置文件的写法,我们只需要将disable = yes改成disable = no,就可以让红旗Linux提供rlogin服务,如下图:
同样,我们可以在该目录下新建一个cvspserver文件让红旗Linux成为CVS服务器,如下图:
请注意,这里最后一行的配置很重要,它指出我们的CVS代码库存放在/var/cvsroot目录中。因此,我们需要建立/var/cvsroot目录,并修改其访问权限,还要使用cvs对它进行初始化,如下图:
然后,我们通过/etc/rc.d/init.d/xinetd restart重新启动网络服务,使用netstat -l可以看到,我们的rlogin和cvspserver都启动了,如下图:
第三步,使用Eclipse链接CVS服务器。还是以Hello World项目为例,再项目名上单击右键,选择“小组”-“共享项目”,如下图:
在弹出的对话框中填写主机、代码库、用户名、密码、端口号等等信息,如下图:
按向导不停地点“下一步”,就可以成功将HelloWorld项目加入到CVS服务器了,下面是最后一步的截图:
点“完成”,我们可以看到,包资源管理器中项目和文件的图标都改变了,如下图:
然后,我们就可以通过Eclipse的CVS插件进行代码文件的检入检出操作了,也可以对程序的版本和分支进行控制。Eclipse的CVS插件提供的可视化功能比较强大,比Linux中的cvs命令好用多了,至于怎么用,就不用我再罗嗦了吧。