楼主: bmccbj

[参考文档] clearcaselt配置

[复制链接]
论坛徽章:
2
201#
 楼主| 发表于 2006-7-30 02:12 | 只看该作者
199
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选项选中;

使用道具 举报

回复
论坛徽章:
2
202#
 楼主| 发表于 2006-7-30 02:12 | 只看该作者
200
4、登录服务器:
选择Admin->login,将出现如下对话框要求用户输入登录口令
输入口令后,选择“OK”按钮,如果CVS服务器与WinCVS的配置都
没出错的话,将在CVS的状态栏中提示:
cvs -z9 -d server:cvsyxwu@10.104.1.204:/home/cvsroot
login
Logging in
to server: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服务器并把图标恢复成原
来的颜色。

使用道具 举报

回复
论坛徽章:
2
203#
 楼主| 发表于 2006-7-30 02:12 | 只看该作者
201
b)、两个或两个以上的用户对同一文件的不同部分进行修改的情

这种情况就是如用户A与用户B都checkout了文件example.h,内容
如下:
int callby (int count)
{
printf("ExcelStor!\n";
}
void main(int argv,char *argc)
{
//added by my cvs
printf("I am Cather\n";
}
int mainexample()
{
printf("OK\n";
}
然后用户A修改成如下,并提交到CVS服务器(一般将正常提交):
int callby (int count)
{//add
printf("ExcelStor!\n";
}
void main(int argv,char *argc)
{

使用道具 举报

回复
论坛徽章:
2
204#
 楼主| 发表于 2006-7-30 02:12 | 只看该作者
202
//added by my cvs
printf("I am Cather\n";
}
int mainexample()
{//add
printf("OK\n";
}
接着用户B修改成如下:
int callby (int count)
{//add
printf("ExcelStor!\n";
}
void main(int argv,char *argc)
{
//modified
printf("I am Cather\n";
}
int mainexample()
{//add
printf("OK\n";
}
当用户B选择“Commit Selection”时将提示:
cvs server: Up-to-date check failed for `example.h'
cvs [server aborted]: correct above errors first!

使用道具 举报

回复
论坛徽章:
2
205#
 楼主| 发表于 2006-7-30 02:13 | 只看该作者
203
此时表明已经有用户对同一个文件example.h进行修改并提交到
CVS服务器,这时
要先选择“Update Selection”对本地example.h与CVS服务器上的
example.h文件进行
同步与合并,不用选中出现的任何选项,直接选择“OK”,这时将
显示如下:
cvs -z9 update example.h (in directory C:\my cvs\STW\src\)
RCS file: /home/cvsroot/STW/src/example.h,v
retrieving revision 1.5
retrieving revision 1.6
Merging differences between 1.5 and 1.6 into example.h
M example.h
***** CVS exited normally with code 0 *****
表明用户B与用户A的修改已经合并成功,同时文件example.h
的图标也将变成红色,合并后的文件是存放在用户B的本地机上,为了
更新到CVS服务器还必须选中example.h并右击选择“Commit
Selection”才能把用户A与用户B的修改合并后的结果提交到CVS服务
器上。注:M表示此文件已经被修改过。
c)、两个或两个以上的用户对同一个文件的相同部分进行修改的
情况
这种情况就是如用户A与用户B都下载了文件example.h,内容
如下:
void main(int argv,char *argc)

使用道具 举报

回复
论坛徽章:
2
206#
 楼主| 发表于 2006-7-30 02:13 | 只看该作者
204
{
printf("I am Cather\n";
}
然后用户A把文件修改成如下,并提交到CVS服务器(一般将正常提
交):
void main(int argv,char *argc)
{
printf("I am Cather\n";
printf("I am Pat\n";
}
接着用户B又把文件修改成如下:
void main(int argv,char *argc)
{
printf("I am Cather\n";
printf("I love you Cather\n";
}
如果用户B这时选择“Commit Selection”准备把修改结果提交到
CVS服务器,此
时将显示如下的错误提示:
cvs -z9 commit -m "update in 11:20" example.h (in directory
C:\my cvs\STW\src\)
cvs server: Up-to-date check failed for `example.h'
cvs [server aborted]: correct above errors first!

使用道具 举报

回复
论坛徽章:
2
207#
 楼主| 发表于 2006-7-30 02:13 | 只看该作者
205
***** CVS exited normally with code 1 *****
表明用户B的修改与其它用户的修改冲突,这时要先选择“Update
Selection”,将显示如下提示:
cvs -z9 update example.h (in directory C:\my cvs\STW\src\)
RCS file: /home/cvsroot/STW/src/example.h,v
retrieving revision 1.9
retrieving revision 1.10
Merging differences between 1.9 and 1.10 into example.h
rcsmerge: warning: conflicts during merge
cvs server: conflicts found in example.h
C example.h
***** CVS exited normally with code 0 *****
example.h前面的C表示与其它用户的修改有冲突,并且文件的图
标会加显示一个“C”,如下所示:
双击example.h将显示example.h的内容,如下:
void main(int argv,char *argc)
{
printf("I am Yanxi\n";
printf("I am Cather\n";
<<<<<<< example.h
printf("I love you Yanxi,too!\n"; //这部分为你的修改
=======

使用道具 举报

回复
论坛徽章:
2
208#
 楼主| 发表于 2006-7-30 02:13 | 只看该作者
206
printf("I love you Cather!\n"; //这部分为其它用户的修

>>>>>>> 1.10
}
这时你应该与用户A进行协商以决定最终要怎样修改。比如,可以
修改成:
void main(int argv,char *argc)
{
printf("I am Yanxi\n";
printf("I am Cather\n";
printf("I love you Yanxi,too!\n"; //这部分为你的修改
printf("I love you Cather!\n"; //这部分为其它用户的修

}
然后选择“Commit Selection”进行提交,将显示如下的提示信息:
cvs -z9 commit -m "update in 11:20" example.h (in directory
C:\my cvs\STW\src\)
Checking in example.h;
/home/cvsroot/STW/src/example.h,v <-- example.h
new revision: 1.11; previous revision: 1.10
done
***** CVS exited normally with code 0 *****
表明用户A与用户的修改已经合并成功。

使用道具 举报

回复
论坛徽章:
2
209#
 楼主| 发表于 2006-7-30 02:13 | 只看该作者
207
这样,向CVS服务器提交文件所会遇到的问题也基本上就是这些,
用户要根据所遇到的实际问题进行修改。
7、向CVS 服务器添加新文件
在本地添加文件后,要提交到服务端。先选中文件,然后点击
“添加按钮”,添加文件后,再在右键菜单中选择提交命令“Commit
Selection”即可。
如图,选中文件example.h.bak,因为example.h.bak当前不是
CVS的文件,此时“添加按钮”将由不可选状态变成可选状态,所以
Status中显示为“NonCvs file”,选择“添加按钮”之后
example.h.bak图标将变成红色并增加了一个A字母,如下:
然后选中example.h.bak,右击,选择“Commit Selection”
把文件example.h.bak提交到CVS服务器上而成为CVS的一个文件。
8、结束语
读了本段,你基本上已经能为自己或公司配置一个实用的CVS服务
器与WinCVS客户端,配合使用CVS进行系统开发或其它文档的版本管理
与控制

使用道具 举报

回复
论坛徽章:
2
210#
 楼主| 发表于 2006-7-30 02:14 | 只看该作者
208
第二部分 相关资源
第一章 一些相关概念
1 基线的理解
“基线”是一个很常见的术语,在配置管理和项目管理里面都能看到,
而且还有很多衍生的术语,例如基线提升、基线化、基线审计,等等。
我个人以前对微软的那套开发流程(就是product cycle model)
以及PSP、TSP了解比较多一些,这些流程里面对“基线”的概念提的不多。
但 接触RUP、MSF以及项目管理以后,看到到处都有baseline,就觉得
迷惑了。
经过我自己的理解,以及和几个同事的讨论,现在我觉得我们通常
看到的“基线”这个术语有两个意思:
1)代表多个源代码文件的一组版本。
比如有三个文件,aaa.c、bbb.c和ccc.h。可以对这三个文件做一
个基线,取aaa.c的版本1.1,取bbb.c的版本1.3,取ccc.h的版本1.0。
(1.1,1 .3,1.0)就是一个基线。换句话说,通常在vss和cvs里面做label,
就是在做基线。
这种基线对“构建审计”特别有用:在做build的时候,可以先对所有
源文件做一个label,取名为"Build2394",然后再编译、集成。这样,
以 后如果要找到和build 2394对应的原文件,只需要到vss或者cvs里
面把所有文件对应label Build2394的版本取回来就可以了。
2)代表文档的一个稳定状态。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表