newasp home
用户管理  |  用户注册
首 页 ┆ 文章中心 ┆ 下载中心 ┆ 图片中心 ┆ 博客中心 ┆ 社区论坛 ┆ 客户留言
  • 站点首页
  • 电脑网络技术
  • 图形图像技术
  • 网络应用
  • 多媒体技术
  • 电脑入门初步
  • 网络推广技术
  • 数据库设计
  • Linux技术
  • 网络动态
用户名: 密码:
当前位置:PC我爱社区 → 文章中心 → Linux技术 → 文章内容

Linux与Windows CVS服务器配置与使用

减小字体 增大字体 作者:网络  来源:转载  发布时间:2008-5-26 19:50:10

 

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!\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)
  {
  //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!

此时表明已经有用户对同一个文件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)
  {
  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!
  
  ***** 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"); //这部分为你的修改
  =======
  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与用户的修改已经合并成功。这样,向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进行系统开发或其它文档的版本管理与控制。

 

第二部分 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:

第一、 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就是第一中用户所选择的目录。
 

上一页  [1] [2] [3] [4]  下一页

[] [返回上一页] [打 印]
  • ·上一篇文章:李进良:重组并非好消息 难解电信业竞争失衡
  • ·下一篇文章:浅谈Linux操作系统的优化及安全问题

文章评论评论内容只代表网友观点,与本站立场无关!

用户名: ! 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容: !

         (注“!”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码

频道栏目导航

  • 电脑网络技术
  • 图形图像技术
  • 网络应用
  • 多媒体技术
  • 电脑入门初步
  • 网络推广技术
  • 数据库设计
  • Linux技术
  • 网络动态
  • 更多分类

本类热门阅览

  • · 如何在linux网卡上添加多个IP
  • · linux下vi编辑器命令大全
  • · 初探Red Hat企业级linux4.0的安全性...
  • · Linux服务器日志管理详解
  • · 如何在Linux系统环境中模拟DOS命令...
  • · Linux如何在系统运行过程中修改内核...
  • · 使Linux系统上的程序开机后自动运行...
  • · Linux系统开防火墙时自动开启相对应...
  • · Linux文件权限的设置方法
  • · Linux与Windows CVS服务器配置与使...
  • · 解析 Linux 中的 VFS 文件系统机制...
  • · 学习笔记:Linux下chkconfig、moun...

相关文章

  • ·一步一学Linux与Windows 共享文件Samba
  • ·Linux启动添加内核参数简介
  • ·制作Linux启动盘的四种方法
  • ·Linux系统启动更快速的十大秘诀
  • ·Sun Solaris已是穷途末路 Linux将取而代之
  • ·Linux服务器下误删除文件的解决方法
  • ·Linux服务器硬盘优化实用技巧
  • ·linux下配置java环境
  • ·针对Linux网络服务器的渗透测试
  • ·修复Linux操作系统的Root密码
  • ·熟悉Linux内核安全入侵侦察系统
  • ·Linux对Windows进行DDOS攻击办法
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登陆
网站备案号:沪ICP备06047794号
本站的各类网络聊天工具,系统工具,媒体工具,绿色软件如有侵犯你的版权,请指出,本站将立即改正。
建议您使用1024*768分辨率浏览下载本站的免费软件(绿色软件)资源
软件站版权所有:PC我爱社区 站长:子昀 点击这里和我联系