如何在windows环境下配置cvs仓库

如何在windows环境下配置cvs仓库,第1张

CVS源自Unix系统,其Windows的移植版并没有服务器功能。在Windows下一般采用安装CVSNT这个软件来建立CVS Repository,但CVSNT的 *** 作方法和原始的CVS略微不同。

CVS本身是命令行形式,其配置过程比较繁杂。

CVS的多帐户配置需要手动修改Repository的CVSROOT文件夹里的文件,缺乏统一的界面。

在安装了CVSNT服务器之后,默认的用户就是建立Repository的运搜Windows系统的登陆帐户,但在多人开发的时候,肯定没人希望大家都使用同一个名字来Commit;更重要的是,我们可能需要配置开发人员的权限,例如限制某些人只能看程序,而某些人可以Commit程序,某些人可以添加新的Module。以下是详细的步骤,环境是CVSNT 2.5.03 (Build 2151) + TortoiseCVS 1.8.25:

1. 使用CVSNT建立一个Repository。假设初始使用Windows的管理员administrator密码登陆,Repository使用Pserver协议,IP是1.2.3.4,端口号是2401,Repository名称是/TestRep,密码是123。这时的administrator也是此Repository的管理员。

2. 为了进行多用凳乎户配置,必须修改Repository的CVSROOT目录的几个文件。首先在客户端将:pserver:[email protected]/TestRep设为CVSROOT环境变量(请注意区分CVSROOT目录和CVSROOT环境变量)。然后用administrator登陆到CVS,最后Check Out出此CVSROOT目录。命令如下所示:

cvs login

//输入密码123

cvs co CVSROOT

3. 在服务器端为Windows添加一个专门用于CVS *** 作的Windows帐户。所有的CVS帐户都要映射到这个Windows帐户上进行实际的 *** 作。虽然很多资料并没有提到需要建立Windows帐户,但我在实验中发现没有这种帐户,CVS在后边执行任何 *** 作时都会报告没有此帐户的错误。假如这个新的帐户叫做cvsuser。使用Windows命令

net user cvsuser cvsuserpassword /Add

可以添加此帐户。在添加完成之后,一定要记得将/TestRep在服务器上的实际文件夹的权限里添加cvsuser的读写权限,否则到最后任何映射到cvsuser的CVS帐户都会因为没有写权限无法进行正常的commit *** 作。首先在服务器上的资源管理器里的“工具”菜单里找到“文件夹选项”,在随后出现的“查看”选项卡里找到“使用简单文件夹共享”的项目,取消掉前面的勾,单击确定。然后右击/TestRep所在文件夹,单击“属性”。在随后打开的对话框里可以看到“安全”选项卡。我们需要在这里添加cvsuser的读写权限。

4.为CVS添加自己的帐户。通过使用命令cvs passwd我们可以添加任意多个CVS帐户(当然,只是针对当前的Repository)。所有的帐户信息会被保存在CVSROOT目录的passwd文件当中。然而这个文件是不枣悄悉能Check Out出来的,只能在服务器那里看到它,并且其保存的密码信息是被加过密的。我们可以添加cvsadmin,user1,user2,anonymous等用户。例如添加cvsadmin时的命令是:cvs passwd -a -r cvsuser cvsadmin

//输入cvsadmin的密码

//再次输入cvsadmin的密码

这样就新添了cvsadmin帐户,并将其映射到Windows帐户cvsuser上(-a表示添加一个账户,-r表示影射到 *** 作系统的帐户中。我期望将cvsadmin作为以后/TestRep的管理员。这一点十分重要,如果这时候不设置的话,再将CVS改为“仅使用CVS帐户校验模式”之后就再也没有机会添加管理员了(因为只有管理员可以看得到和 *** 作CVSROOT目录)。

Eclipse中没有刷新而导致同步报错,可以将Eclipse设置为自动刷新, *** 作方法:

Window-Preferences-Workbench

,选中Refresh workspace automatically

。即使如此,仍然可能出现问题,因为Eclipse刷新可能会睁唤有一定延迟,所以在报错时,手动刷新一下,再同步。2、下班离开公司之前Commit所有文件,上班之后Update所有文件,并根据

Daily build

的报告,修正昨天提交的版本中的错误信息。3、在修改文件之前,先Update一下,使得修改时的版本尽可能扮困新,一旦发生冲突,解决它的工作量会比较小。如果是大家共同使用,并经常修改的文件,如

Constants.java、struts-config.xml

等文件,更要如此,最好能通知其他人员Commit。

4、在文件出现冲悉缺凯突时,应该先进行比对,将服务器端的修改更新至本地,不清楚的地方要同其他人沟通,合并完成后,选择

Override and Commit

更新,禁止不进行比对就进行

Override and Commit *** 作!5、CVS不允许进行删除服务器端文件,所以大家最好不要提交临时文件及临时目录,如编译产生的文件和目录。6、不同功能模块的文件分开Commit

,同一功能模块的文件一次Commit

,对于分析错误、减少冲突、版本回退等有帮助。7、提交的文件必须经过测试,起码保证在本地是可以编译通过的,方便其他人测试。

团队开发,单搞就没有必要了,版本控制。简单来说比如这个项目N个人开发,肯简如定需要把代码整合在一起,cvs作用就是起到一个版本控制,比如今天我写的代码跟储存代码的服务器进行同步,得到一个1.5版本,而同事同步之后游宏更新代码,服务器代码就是更高版本,这样我1.5版本就不能对同事写的代码进行覆盖,作用其实就是保证当前服务器代码拦磨启是最新的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12430559.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存