9、从cvs本地服务器上checkout相应的模块:
a、如果是在CVS服务器所在计算机上,可以直接采用如下命令:
#cvs checkout stw
这样将把stw项目模块checkout到当前目录下。
b、如果是在远程运行Linux或其它Unix系统上,在第7中登录之后也可以用上边的命
令把相应的项目模块checkout到当前目录下。
另外,如果是在windows端进行checkout,可以采用WinCVS,那么还要对WinCVS进行其它的一些配置,下一部分将具体介绍它的配置方法。
第二部分 WinCVS的配置与使用方法
1、 WinCVS简介:
WinCVS是CVS的一个客户端软件,它运行在Windows上,用来在Windows上登录CVS服务器,然后进行一些CVS相关的操作与管理。由于当前很多的企业内部都采用Linux/Unix做服务器,而用Windows做客户端,所以,WinCVS与CVS服务器配合使用将组成强有力的版本控制与管理的系统之一。
2、 WinCVS的下载与安装;
新的WinCVS可以从http://sourceforge.net/project/showfiles.php?group_id=10072地址下载到,也可以在http://sourceforge.net/project上下载到新的或其它版本的WinCVS。
下载到相应的版本后根据向导进行安装,已经要使用CVS的用户,安装这个WinCVS应该没什么问题吧!
3、 配置WinCVS:
a、 一般选项的设置,选择Admin->Preferences…,出现如下界面:
第一、 Authentication:用来配置cvs服务器的认证方式,可以从下拉框中选择其它的认证方式,不过一般只要选择默认的pserver方式可以,要注意的是必须与cvs服务器配置时所指定的认证方式一致;
第二、 Path:用来配置cvs在服务器上的主目录路径,也是服务器上用进行cvs初始化的目录,如:/home/cvsroot;
第三、 Host Address:用来配置cvs服务器所在服务器的地址,可以是IP地址,也可以是DNS名,如:10.104.1.204;
第四、 User name:用来配置要使用些WinCVS来登录CVS服务器的用户名,如:cvsyxwu,用户的登录必须由管理员把其添加cvs用户组中;
第五、 CVSROOT:此项一般都不需要用户进行修改,用户在输入上边的几个选项时,系统将自动根据用户的输入生成此项的相应内容。
b、 全局选项的设置,在上一个界面上选择“Globals”:
此项的配置主要是要注意这几选项:
第一,Checkout read-only不要选上,否则,checkout出来的源代码将不允许用户进行
修改,并且此选项默认是选中的;
第二,Prune (remove) empty directories也不要选上,否则,会自动删除空目录;
第三,对一般配置没有特殊要求的,把Dirty files support、Supply control when adding
与TCP/IP compression选项选中;
4、 登录服务器:
选择Admin->login,将出现如下对话框要求用户输入登录口令
输入口令后,选择“OK”按钮,如果CVS服务器与WinCVS的配置都没出错的话,将在CVS的状态栏中提示:
cvs -z9 -d :pserver:cvsyxwu@10.104.1.204:/home/cvsroot login
Logging in to :pserver:cvsyxwu@10.104.1.204:2401/home/cvsroot
***** CVS exited normally with code 0 *****
code 0表示正确的登录;而如果出错的话,将是code 1,那么要根据错误的提示进行相应的修改。
5、 从CVS服务器上check out相应的模块:
第一, 在workspace中的Modules选中要存放checkout模块的目录;
第二, 选择Create->Checkout Modeles,将出现如下对话框:
其中,Module name and path on the server是要存放checkout 内容的目录,由用户输入;而Local folder to checkout to是第一中用户所选择的目录。
6、 修改之后把文件提交到CVS服务器
a)、只有一个用户对文件进行修改的情况
用自己喜欢的编辑器对checkout出来的文件进行修改,修改之后的文件在没有提交之前会是红色的,如下图example.h文件:
选中红色的文件example.h后右击选择“Commit Selection”选项,如果没有其它用户也对其进行修改并已经提交到CVS服务器上,一切正常的话将把example.h文件提交到CVS服务器并把图标恢复成原来的颜色。
b)、两个或两个以上的用户对同一文件的不同部分进行修改的情况
这种情况是如用户A与用户B都checkout了文件example.h,内容如下:
int callby (int count)
{
printf("ExcelStor!
");
}
void main(int argv,char *argc)
{
//added by my cvs
printf("I am Cather
");
}
int mainexample()
{
printf("OK
");
}
然后用户A修改成如下,并提交到CVS服务器(一般将正常提交):
int callby (int count)
{//add
printf("ExcelStor!
");
}
void main(int argv,char *argc)
{
//added by my cvs
printf("I am Cather
");
}
int mainexample()
{//add
printf("OK
");
}
接着用户B修改成如下:
int callby (int count)
{//add
printf("ExcelStor!
");
}
void main(int argv,char *argc)
{
//modified
printf("I am Cather
");
}
int mainexample()
{//add
printf("OK
");
}