您的位置:软件测试 > 开源软件测试 > 开源配置管理工具 > cvs
LinuxCVS服务器与WinCVS的配置与使用
作者:网络转载 发布时间:[ 2013/2/19 16:10:27 ] 推荐标签:

  当用户B选择“Commit Selection”时将提示:
  cvs server: Up-to-date check failed for `example.h'
  cvs [server aborted]: correct above errors first!
  此时表明已经有用户对同一个文件example.h进行修改并提交到CVS服务器,这时要先选择“Update Selection”对本地example.h与CVS服务器上的example.h文件进行同步与合并,不用选中出现的任何选项,直接选择“OK”,这时将显示如下:
  cvs -z9 update example.h (in directory C:my cvsSTWsrc)
  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)
  {
  printf("I am Cather ");
  }
  然后用户A把文件修改成如下,并提交到CVS服务器(一般将正常提交):
  void main(int argv,char *argc)
  {
  printf("I am Cather ");
  printf("I am Pat ");
  }
  接着用户B又把文件修改成如下:
  void main(int argv,char *argc)
  {
  printf("I am Cather ");
  printf("I love you Cather ");
  }
  如果用户B这时选择“Commit Selection”准备把修改结果提交到CVS服务器,此时将显示如下的错误提示:
  cvs -z9 commit -m "update in 11:20" example.h (in directory C:my cvsSTWsrc)
  cvs server: Up-to-date check failed for `example.h'
  cvs [server aborted]: correct above errors first!
  
  ***** CVS exited normally with code 1 *****
  表明用户B的修改与其它用户的修改冲突,这时要先选择“Update Selection”,将显示如下提示:
  cvs -z9 update example.h (in directory C:my cvsSTWsrc)
  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 ");
  printf("I am Cather ");
  <<<<<<< example.h
  printf("I love you Yanxi,too! "); //这部分为你的修改
  =======
  printf("I love you Cather! "); //这部分为其它用户的修改
  >>>>>>> 1.10
  }
  这时你应该与用户A进行协商以决定终要怎样修改。比如,可以修改成:
  void main(int argv,char *argc)
  {
  printf("I am Yanxi ");
  printf("I am Cather ");
  printf("I love you Yanxi,too! "); //这部分为你的修改
  printf("I love you Cather! "); //这部分为其它用户的修改
  }
  然后选择“Commit Selection”进行提交,将显示如下的提示信息:
  cvs -z9 commit -m "update in 11:20" example.h (in directory C:my cvsSTWsrc)
  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与用户的修改已经合并成功。
  
  这样,向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进行系统开发或其它文档的版本管理与控制。

上一页123下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd