5.2 管理员进行管理演练:
1. 登陆远程CVSNT:
l 选择Admin=>Login菜单,默认设置,OK。
l 弹出密码输入框,确认,OK。注意观察输出框【OutPut】的返回结果。
2. Checkout默认模块:(CVSRoot管理模块)
l 在左边导航栏【Workspace】内,选择【Admin】点按右键,选择【Checkout modules…】,在【Checkout settings】中输入CVSRoot,确定,OK。如下图:
<v:shapetype o:spt="75" coordsize="21600,21600" filled="f" id="_x0000_t75" stroked="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" o:connecttype="rect" gradientshapeok="t"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style="width: 339pt; height: 228pt;"></v:shape>
l 如果成功的话,会在【Admin】栏下增加一个【CVSRoot】目录。表示您已经将【CVSRoot】这个管理模块下载到本地了。
3. CVS中目录权限介绍:
l 系统支持的目录权限列表:
r (读取权限)
w (写入权限)
c (创建和删除权限)
n (没有任何权限)
l 默认情况下,任何用户都拥有任何目录的所有权限。
l 任何情况下只有目录的拥有者和Administrator才有权力更改目录的使用权限。下面将会介绍如何修改目录权限和目录的拥有者。
4. 修改CVSRoot的权限:只让Administrator拥有rcw三种全部权限。
l 选中刚刚下载的【CVSRoot】模块,【Ctrl+L】或Admin=>Command Line…,弹出Command Line Settings对话框,直接执行CVS命令。
l 取消所有用户的默认权限:cvs chacl default:n 回车,OK,完成。
l 设置Administrator拥有所有权限:cvs chacl administrator:rcw 回车,OK,完成。
l 更改【CVSRoot】的拥有者:cvs chown administrator 回车,OK,完成。
l 查看【CVSRoot】的权限状态:cvs lsacl 回车,OK,在【Output】中显示:
Owner: administrator
default:n
administrator:rwc
l 【CVSRoot】的权限配置完毕。
5. 编写代码库中的模块文件,便于多用户下载方便。
l 需要自己编写的模块文件格式如下:(实现基本功能)
【模块一的描述】【n个空格或参数】【相对目录路径一(DirA)】
【模块二的描述】【n个空格或参数】【相对目录路径二(DirB)】
……
【模块X的描述】【n个空格或参数】【相对目录路径X(DirX)】
l 【描述信息】与【相对路径】在字面上不一致时,需要使用-a参数。
l 【相对路径】指的是CVS会自动带上根路径,这里是F:\KHRoot,所以上面例子的完整路径为:F:\KHRoot\DirA
l 了解了模块文件结构,现在来实际操作一把:双击【CVSRoot】模块下的modules文件,用UltraEdit打开进行编辑。
l 为Jackey,Goury,Riolee三个用户分配工作目录和完成其它模块描述。
CVSRoot CVSRoot
Jackey工作目录 -a Jackey
Goury工作目录 -a Goury
Riolee工作目录 -a Riolee
l 编辑完毕,存盘。回到WinCVS,选中modules这个文件【Ctlr+M】或右键选择【Commit selection…】,默认设置,【确认】,OK,完成上传。
6. 为三个用户分别上传工作目录:
l 在YCW2000机器上的E:\CVSClient\Admin分别建立三个目录分别名为:Jackey,Goury,Riolee,作为临时交换目录。
l 在新创建的每个目录中用UltraEdit或拷贝一个Readme.txt作为引子文件!!:)
l 然后,回到WinCVS,在【Workspace】栏的【Admin】目录下形成如下的目录结构:
<v:shape id="_x0000_i1026" type="#_x0000_t75" style="width: 148.5pt; height: 145.5pt;"></v:shape>
l 分别选中Goury,Jackey,Riolee,右键,点按【Import Module】,选择【Continue】,其它全部使用默认值,【确定】,OK,完成上传工作。
l 仔细观察【Output】窗口,确认都成功上传了。
l 转移到系统的Explore程序中,删除E:\CVSClient\Admin目录下的Jackey,Goury,Riolee三个目录。然后回到WinCVS当中。(一定要删除!!!:)
l 至此,就完成了工作目录的上传工作。
7. 【Checkout】下载3个用户的工作目录到【Admin】目录下:
l 在【Workspace】栏选择【Admin】目录,右键,点按【Checkout Module…】,如下图:
<v:shape id="_x0000_i1027" type="#_x0000_t75" style="width: 339pt; height: 228pt;"></v:shape>
<o:p></o:p>
l 选择【…】,得到CVSNT上最新的模块配置情况,弹出如下的信息框:
<v:shape id="_x0000_i1028" type="#_x0000_t75" style="width: 387pt; height: 241.5pt;"></v:shape>
l 这个结构图就是刚才在modules当中编写的模块文件格式信息。选择【Jackey工作目录】,下载到YCW2000机器的E:\CVSClient\Admin目录下。
l 按照以上操作,依次分别下载【Goury工作目录】和【Riolee工作目录】。形成如下状态:
<v:shape id="_x0000_i1029" type="#_x0000_t75" style="width: 166.5pt; height: 138pt;"></v:shape>
8. 为三个用户分别设置各自目录的访问权限。(只有自己才能访问自己的工作目录)
l 选中【Goury】目录,【Ctrl+L】或Admin=>Command Line…,弹出Command Line Settings对话框,直接执行CVS命令。
l 取消所有用户的默认权限:cvs chacl default:n 回车,OK,完成。
l 设置Goury拥有所有权限:cvs chacl goury:rcw 回车,OK,完成。
l 查看【CVSRoot】的权限状态:cvs lsacl 回车,OK,在【Output】中显示:
Owner: administrator
default:n
goury:rwc
l 按照以上的方法依次分别设置【Jackey】与【Riolee】的工作目录访问权限。
l 至此,完成了3个用户的目录权限分配。注意,虽然Administrator也没有权力再次【Checkout】那3个用户的工作目录,但是它是这些目录的拥有者又是Administrator,因此,只有它才有权力更改这些目录的访问权限。
9. CVSNT系统中的用户管理原则:
l CVSNT的用户与本机(这里是Server机器)上的NT用户是相关联的,即CVSNT用的全是本机上存在的已有用户,因此在默认情况下可以不用设置任何用户名,只要使用本机上已经存在的用户名就可以用WinCVS进行登陆。
l 只有用Administrator身份登陆到CVSNT系统中,才有权力进行新用户的创建和删除。
l 使用CVS创建的新用户,必须与服务器端机器上的NT用户相绑定,才能生效;因此,这个新用户实际上是绑定它的NT用户的一个替身,在CVS系统中称为“别名”。
l 一个NT用户可以有多个‘替身’或‘别名’,充当多个CVS用户。
10. 用WinCVS进行新用户的添加和删除。(确保使用Administrator登陆)
l 【Ctrl+L】或Admin=>Command Line…,弹出Command Line Settings对话框,直接执行CVS命令。
l 添加新用户【Killer】:cvs passwd -a Killer 回车,设置密码,OK,完成。
l 绑定【Killer】到【Jackey】:cvs passwd -r Jackey Killer 回车,设置密码,OK,完成。
l 两次输入的密码可以不同,但以第二次输入的密码为最终密码。
l 删除用户【Killer】:cvs passwd -X Killer 回车,OK,完成。
l 其它特殊的功能查看passwd命令的帮助。
11. 使用完毕后,一定要【Logout】,因为WinCVS退出时并不会自动注销自己在远端的会话;这样做是为了防止其它人接着打开WinCVS,不用登陆就可以完成你能进行的所有操作了。
6 WinCVS中常见的特殊操作:
6.1 如何删除下载的文件或目录:
1. 选中下载的某个或多个文件,执行【Remove】命令。
2. 再次选中这些文件,执行【Commit】命令就完成了删除文件的操作。
3. 本质上CVS是不会删除任何文件和目录的,即使是执行了以上操作,删除了某些文件,远端CVS实际执行的是将提交删除的文件放到了一个叫【Attic】的目录下,因此,这些被删除的文件是可以通过一定的方法恢复的。
6.2 如何恢复已经删除的文件或目录:
1. 在执行了【Remove】命令之后恢复文件。
l 【Ctrl+L】直接输入命令cvs add xxxxx,或执行【Add Selection】界面操作。
l 这样就可以直接恢复还未提交的删除文件。
2. 在执行了【Commit】命令之后恢复文件。
l 只能用【Ctrl+L】直接输入命令cvs add xxxxx,这时会得到一个空的文件。
l 选中这个空文件,执行【Update】操作,得到这个文件的实体。
l 再次选中这个文件,执行【Commit】操作,得到这个文件最新版本。
3.
相关推荐
【WinCVS与CVSNT使用简介】 WinCVS与CVSNT是Windows环境下用于版本控制的工具,其中WinCVS是图形化的客户端界面,而CVSNT是服务器端的实现。本文主要针对Windows LAN环境下的新手,详细介绍如何配置和使用这两个...
锁名与使用的 cvs admin -l 命令相关。 -kk(忽略其值,继续替换) 在关键字字符串中只生成关键字名;忽略其值。例如,对于关键字 Revision,生成的字符串是 $Revision$ 而不是 $Revision: 5.7 $。这一选项在比较版本...
**WinCVS&CVSNT安装手册** **一、前言** CVS(Concurrent Versions System)是一种开源的版本控制系统,用于跟踪文件和目录的变化,便于团队协作开发。本手册将详细阐述如何在Windows环境下安装和配置CVS的客户端...
7. **日常使用**:一旦安装和配置完成,开发团队成员可以使用WinCVS来管理他们的源代码,跟踪代码变更,协同工作,而CVSNT会在后台处理所有的版本控制任务。 了解和熟练使用WinCVS2.1.1和CVSNT是每个Windows环境下...
CVSNT与Wincvs的组合使用,不仅能够提高团队协作效率,还能确保源代码的安全性和版本管理的有效性。通过良好的权限设置和版本控制策略,开发者可以追溯每一个代码变更,避免因误操作导致的数据丢失,同时促进团队...
**wincvs 安装配置及使用手册** wincvs是一款基于Windows操作系统的CVS(Concurrent Versions System)客户端工具,它提供了用户友好的图形界面,使得开发者在版本控制系统中进行代码管理变得更加方便。CVS是一种...
### WinCVS 使用手册知识点详解 #### 一、CVS简介 CVS(Concurrent Versions System)是一款历史悠久且功能强大的版本控制系统,最初为Unix环境设计。它被广泛应用于软件开发和其他文档管理领域,以实现对文件及...
**CVSNT与WinCvs教程** CVS(Concurrent Versions System)是一种版本控制系统,用于管理软件项目的源代码。CVSNT是CVS的一个增强版本,适用于Windows环境,提供了更丰富的功能和更好的性能。本教程将详细介绍如何...
**使用CVSNT与WinCVS** 1. **检出代码**:在WinCVS中,你可以通过“检出”操作将仓库中的项目文件复制到本地工作目录,进行编辑和开发。 2. **提交更改**:当完成对文件的修改后,使用“提交”功能将更改上传到...
**Cvsnt与WinCVS简介** Cvsnt和WinCVS是两个紧密相关的开源工具,主要用于版本控制系统。Cvsnt是一个对CVS(Concurrent Versions System)进行增强的服务器端实现,它提供了许多CVS原版没有的功能,如Windows服务...