`
yunfeiyang
  • 浏览: 32819 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

1)       安装 CVSNT-2.5.03;安装wincvs1.3;安装python2.2

注意:

acvs.exe 既是 server 又是 client,如果仅作为 client 端,想要运行 cvs 命令,也必须安装它;

bpython2.2安装之后要设置系统环境,具体步骤是:右击我的电脑-属性-高级-环境变量-新建:变量名可以为path,变量值既是python的路径。

C、注意设定 CVSNT Repository  例如ivyroot;还有就是cvsnt里面run as 的设置要选计算机名的那一项。

2)       打开wincvs,设置后,用administrator登陆,打开命令行

   cvs passwd –a –r administrator lirx  (设置账号lirx)

   两次输入密码

3)       checkout仓库ivyroot下的cvsroot模块(注意:还是用administrator账号来checkout

4)       在本地cvsroot中加入admin文件(注:在cvsroot加入的文件不要带后缀,admin文件用来指明cvs的管理员帐户,一行为一个用户),格式为:

lirx  (这样就指明了lirxcvs的管理用户)

提交。

5)       checklist文件中,加入一行,内容是:admin;提交。

6)       添加writers文件,加入要赋予write权限的用户,例如:

Administrator

lirx

lirx1

lirx2

lirx3

lirx4

提交。

(注:如果用户a没有存在于writers文件中,则对cvs模块均没有写权限)

7)       删除本地的cvsroot,用lirx,即用我们刚刚创建的管理员帐户来登录,重新checkoutcvsroot

8)       修改config文件,把里面第二行的“#SystemAuth=yes”改为“SystemAuth=no”,取消了双层登录模式,即可用cvs帐户亦可用系统帐户,改成之后就只能用cvs帐户登录,即原先的administrator失效,只能用admin文件中存在的用户来登录cvs了。

9)       cvs passwd -a username命令添加用户lirx1lirx2lirx3lirx4。各用户可以用各自的账户名登录后用cvs passwd username命令修改密码。

10)    至此,关于cvs系统的设置就到一段落了。

 

11)    lirx登录的状态下,在和之前checkout出来的cvsroot同个根目录里,新建一个文件夹,命名为ivy1,在里面新建一个test.txt文件。然后在wincvs中,点中ivy1这个文件夹,选择“导入项目\模块”-“继续”,显示成功。然后,把本地刚才新建的ivy1文件夹删除,再重新checkoutivy1

12)    默认情况下,对于一个新建的模块,任何用户都有其任何权限,因此,我们checkoutivy1之后,用cvs chacl -a none命令取消所有默认权限,然后用cvs chacl -u lirx -a all命令赋予lirx所有权限。如果要再给用户lirx1读写权限,可以用cvs chacl –R -a read,write -u lirx1命令。(注:可用“cvs chacl –R -a none -u username 目录1 目录2 表示给用户username分派目录1,目录2无任何操作的权限;用“cvs chacl -R -a read,write -u username 目录1 目录2”,表示给用户username分派目录1,目录2可以读写的权限.)总结:每次执行一个用户的权限更新都会累加或者覆盖(操作同一用户的时候)其以前的所有的权限的配置。

13)    删除用户username              [命令]cvs passwd -X usernameX为大写)

14)    如果包含子目录也要同样的操作-R(-r不行)
如:cvs chacl -R -a none

15)    cvs lsacl可查询当前的用户权限

16)    删除文件有两个命令,一个是Remove,一个是Erase,都在主菜单Modify下面。 其中,Remove是同时把文件从本地和远程仓库删除掉,而Erase是删除本地文件,不动远程仓库中的版本。

Remove操作方法是:先选择需要从CVS管理中删除的文件,再选择主菜单Modify,然后选择Remove子菜单,为了从CVS仓库删除它,还需要进行Commit操作。

Remove相似的功能是Erase功能,在Modify主菜单下。Erase的功能是把你本地的文件删除掉,而远程仓库中的相应文件不受影响。当您选择一个文件,进行了Erase操作之后,这个文件被打上了Missing的标记,含义是这个文件在远程仓库有,而本地不存在。既然这个被erase的文件在仓库中有,我们就可以从仓库中把它取回一份到本地。具体操作是:选定状态为missing的文件,按下鼠标右键,在弹出菜单中,选择Update…子菜单,在随后出现的对话框中,钩上Get the clean copy选项,按确定,就会发现已经在本地删除的文件又从远程仓库拷贝了一份回来。

 

对于cvs chacl [-R] [-r branch] [-u user] [-j branch] [-n] [-p priority] [-m message] [-a [no]{read|write|create|tag|control|all|none}[,...]] [-d] [file or directory...]

cvs rchacl [-R] [-r branch] [-u user] [-j branch] [-n] [-p priority] [-m message] [-a [no]{read|write|create|tag|control|all|none}[,...]] [-d] [file or directory...]

 

: cvs chacl -R -a read,write -u user1

 

现在分别对这几个参数做一下说明:

 

read 读权限

write 写权限

create 创建目录的权限

tag 创建tag权限

control 控制权限

all 所有权限

none 没有任何权限

 

需要说明的是,read|write|create|tag|control 之间没有权力大小之分。如果有write权限的话,未必有read权限。如你只给某一个用户写的权限的话,他是无法读出的。对于有写权限的人,一般会给他读的权限(要不怎么写啊)。

对于create 只有创建目录的权限,如果目录下面有文件,你必须还要有write权限才行。

对于control 如果某用户对某目录有control权限,那么这个用户可以使用cvs chacl命令更改这个目录的权限。

对于all 如果某个用户对某个目录有all权限,那么这个用户将拥有所有权限。

对于tag 不需要有wirte权限也可以tag,但应该给其read权限。

cvs chacl -u g2 -a read,nowrite HelloWorld.java

上述命令赋予g2群组当前目录下HelloWorld.java文档的读权限,拒绝其写权限。

cvs chacl -R -u cvsuser2 -d .

上述命令取消cvsuser2 用户对当前目录对应的服务器目录的所有权限。

需要说明的是:CVS不仅可以对目录做权限控制,还能对文件做权限控制。

 

请注意:这里是一个CVSNT 2.5.03 build 2382 bug

当进入被cvs checkout出来的项目客户端文件夹时,并且这时你并不是使用checkout所使用的帐户登录的,cvs会自动使你变更成为checkout时所使用的帐户。

危害描述:可以借此漏洞夺得他人帐号控制权,甚至最高管理员权限。

解决方法:在使用时请勿在他人的计算机上使用自己的帐号checkout项目,尤其是管理员帐号。

 

设置相对路径:

在本地的一个文件夹中,右击cvs—创建新模块,最下面的模块名称填入您要获取的文件的路径,点确定。(注意:不能在根目录下新建模块)

取下来的带有绿色勾勾标记的文件夹可以自由放在任何没有标识的文件夹下面,其里面的文件依然对应着服务器上的路径。

"cvs update" 后在信息框里会列出你的操作,你的文件update的情况,这里是CVS使用的所有其它单字符信息性消息的列表:
U [path]
在本地机更新get到了服务器上最新的或者最新版本的文件。

P [path]
“U”一样,只是在update时你的网络带宽少的情况下CVS服务器所出现的提示。

M [path]
这意味着您已经修改过该文件了;而且,有可能资源库中新的更改已成功地合并到该文件。

C [path]
错误警报,"C" 字符表明该文件存在冲突,需要在使用 "commit" 提交前解决这冲突。 当试图更新文件时检测到了一个冲突(也就是说,在本地修改的代码和与在仓库中被修改的代码有冲突)。这个文件在本地的副本中包含冲突记号,而文件原来的版本存放在一个叫做.#文件.version的新文件中

A [path]
该文件是计划要添加的,即添加了但尚未提交,这时你还使用update命令,CVS就会有这个提示,当你 "commit" 时,它被正式添加到服务器库中,问题解决。
R [path]
"A" 一样,"R" 让您知道该文件计划要删除的,即删除了但尚未提交,这时你还使用update命令, CVS就会有这个提示,当你 " commit" 后,该文件就会从服务器库中删除,问题解决。

?  文件  文件只存在于工作区中但是仓库中没有这个文件的任何信息。可以使用cvs add 命令来添加这个文件,或者通过修改.cvsignore文件来让cvs忽略这个文件

只有管理员才能修改日志

 

感叹号:

本地在旧版本上更改,然后commit,出现差异,没有改过来,然后update,就出现感叹号

update到head版本,就把服务器上最新的下下来了,而修改的那一份会备份为.#开头的文件,还有一份.#文件是针对最新版本和做修改版本的对比。

wincvs加锁:

在文件提交的过程中选择检出文件只读,解锁时重新提交。

分享到:
评论

相关推荐

    cvsnt

    2. **网络支持**:cvsnt可以设置为服务器模式,通过TCP/IP协议与其他客户端进行通信,支持多种认证机制,如NTLM、Kerberos等。 3. **分支与合并**:cvsnt允许创建代码分支,使得团队成员可以在不影响主线开发的情况...

    CVSNT的详细配置

    CVSNT是一种Windows平台上的版本控制系统,与Unix平台上的CVS具有相同的功能,但专为Windows环境进行了优化。它是CVS的Windows移植版本,使得Windows用户也能方便地使用CVS来进行版本控制。 CVSNT的基础概念包括...

    cvsnt的使用

    **2. 配置CVS仓库** 创建CVS仓库是在服务器上指定一个用于存储项目源代码的目录。你可以通过cvsnt的命令行工具或图形界面管理工具来完成。仓库的结构可以按照项目或模块进行组织,便于管理和查找。 **3. 添加项目...

    cvsnt-2.0.41.rar

    《CVSNT 2.0.41:版本控制利器详解》 CVS(Concurrent Versions System),中文译为并发版本系统,是一款广泛应用于软件开发领域的版本管理工具,它允许多用户协同工作,并且能够追踪文件和目录的历史版本。CVSNT是...

    ubuntu9.04 server上配置cvsnt

    在Ubuntu 9.04 Server上配置CVSNT是一个涉及版本控制系统、服务器配置以及Linux操作系统管理的任务。CVSNT是一个Windows环境下对CVS(Concurrent Versions System)的增强版本,支持多用户、权限控制和更丰富的特性...

    cvsnt与myeclipse配置手册

    2. 打开CVSNT控制面板:从“开始”菜单—“所有程序”—“CVSNT”启动。 3. 确保“CVSNT”和“CVSNT Lock”服务始终运行。 4. 配置Repository:在“Repository configuration”选项卡中,可更改服务器名称,并通过...

    CVSNT_2.0.42

    2. 分支与合并:CVSNT支持创建分支,这意味着开发人员可以在不影响主线开发的情况下,独立开发新功能或修复问题。完成后,这些分支可以安全地合并回主分支,确保所有更改集成在一起。 3. 客户端-服务器架构:CVSNT...

    cvsnt-2.5.03.2382.msi服务器端

    【cvsnt-2.5.03.2382.msi服务器端】是一款针对Windows操作系统的CVS(Concurrent Versions System)服务器软件。CVS是一种版本控制系统,用于跟踪和管理软件开发过程中的源代码和其他文件的变更。在开源社区和软件...

    cvsnt-2.0.58d

    2. **权限管理**:CVSNT支持Windows用户和组的权限管理,可以为不同的用户或组设置不同的访问权限。 3. **数据库后端**:除了标准的Berkeley DB存储之外,CVSNT还可以使用Microsoft SQL Server或Oracle作为后台...

    CVSNT 安装 配置 权限设置

    2. **兼容性**:CVSNT与原有的CVS兼容,能够无缝集成现有的CVS项目。 3. **稳定性**:相较于原生CVS,CVSNT在Windows平台上提供了更好的稳定性和性能。 4. **易用性**:尽管CVSNT相对于原生CVS在某些方面有所改进,...

    cvsnt 配置

    《全面解析CVSNT配置与安装》 CVSNT,全称Concurrent Versions System for NT,是一款基于Windows系统的版本控制系统,它扩展了经典的CVS(Concurrent Versions System)功能,使其在Windows环境下运行更加顺畅。在...

    CVSNT-CVS服务端

    2. **分支与合并**:允许创建代码分支,独立开发新功能,然后将这些改动合并回主分支。 3. **时间戳和版本号**:每个文件都有一个唯一的版本号和修改时间,便于追踪历史变化。 4. **冲突解决**:当多个用户修改同一...

    cvsnt2.5.03

    2. **Cvsnt2.5.03安装过程** 在安装Cvsnt之前,需要确保系统已经安装了Eclipse。然后按照以下步骤进行: - 安装WinCVS客户端:从提供的WinCVS中文版.exe执行文件中,安装WinCVS,这是Cvsnt的图形界面客户端。 ...

    cvsnt-server-2.5.05.3744.msi

    《CVSNT服务器详解——基于cvsnt-server-2.5.05.3744.msi的安装与配置》 CVSNT(Concurrent Versions System for NT)是一款广泛应用于Windows系统的CVS(Concurrent Versions System)服务器,它扩展了原始的CVS...

    java版本控制工具cvsnt

    2. **分支与合并**:CVSNT支持创建代码分支,允许团队成员独立工作,同时避免了不同人对同一部分代码的冲突。当工作完成后,可以将分支合并回主分支,确保所有改动都被集成。 3. **并发编辑**:多个开发者可以同时...

    cvsnt下载或CVS

    2. **冲突解决**:在多个人同时修改同一部分代码时,CVSNT会识别出冲突,并要求开发者手动解决这些冲突,确保代码的完整性。 3. **标签**:CVSNT允许给版本打标签,这在发布新版本或标记里程碑时非常有用。标签是一...

    CVSNT.rar_cvsnt

    《CVSNT:Java源程序版本控制利器》 CVSNT,全称为Concurrent Versions System for NT,是一款专为Windows NT环境设计的开源版本控制系统,它扩展了经典的CVS(Concurrent Versions System)功能,使其在Windows...

    CVS 服务器程序 CVSNT 2.0.58d + CVS 客户端工具 TortoiseCVS 1.10.10 (for win7)+ 图示说明

    CVS 服务器程序 CVSNT 2.0.58d + CVS 客户端工具 TortoiseCVS 1.10.10 (for win7)+ 图示说明 最新的版本cvsnt-2.5.03.2382有4.2MB,追新的朋友可以自己上官网下载. 1都安装好软件 2配置服务器端  a 查看运行...

    cvsnt.rar -搭建cvs服务器

    2. **配置服务器**:安装完成后,需要配置CVSNT服务器。你可以通过"CVSNT Server Manager"这个图形界面工具来进行设置,包括指定数据存储位置、设置访问权限、定义用户和组等。 3. **创建仓库**:仓库是CVSNT中的...

    CVSNT 2.0.51 (版本管理)

    **CVSNT 2.0.51 版本管理详解** CVSNT(Concurrent Versions System for NT)是一款开源的版本控制系统,适用于Windows NT/2000/XP/Vista/7等操作系统,它是CVS(Concurrent Versions System)在Windows平台上的一...

Global site tag (gtag.js) - Google Analytics