wincvs v13中文操作指南.docx
WinCvs V1.3中文操作指南深圳华强信息产业有限公司2006-11注:本文档配合 WinCvs自带的帮助文档使用;第一章CVS初始化配置31.1服务端和客户端的安装31.2服务端配置简介31.3客户端配置简介4第二章WINCVS的基本操作52.1Wincvs基本操作52.2 Wincvs 使用流程7第三章 WINCVS的高级操作 123.1版本标签123.2版本分支133.3查询的高级应用153.4版本冲突和解决16第四章WINCVS客户端操作使用注意事项和故障处理16第一章CVS初始化配置1.1服务端和客户端的安装服务端安装程序:CVSNT 2.0.41 ;客户端安装程序:WinCvs 1.3简体中文版以及Python 2.2.3 (版本比较器);运行环境:windowsXP/2003操作系统、硬件条件(客户端最低配置:硬盘 10G/内存256Mb/CPU1.0G ;服务器端: 硬盘 20G/ 内存 512Mb/CPU1.5G);安装过程选择所有安装,对于所有人员只需安装客户端程序,所有操作都在客户端上进 行,服务器端程序由配置管理员负责安装和维护。1.2服务端配置简介安装完毕后的主要几个配置界面:Service Status:启动或停止 CVS Seveic e 和 CVS Lock service ;Repositories:建立CVS仓库,仓库中存放各个模块/项目;Advanced:管理和配置CVS的仓库;SSL settings:注:1 CVS客户端的用户管理、权限控制和模块维护管理工作都可在服务端机器进行管理;2只能由administrator系统用户进行增加/删除用户、权限分配等操作;1.3客户端配置简介安装后各连接配置参数缺省为空的配置,所以安装程序后需要设置连接参数才能建立访 问通道。配置连接参数说明:执行菜单:管理一一设置:(首次安装后自动弹出,并需先设置保存登陆信息的目录路径)认证方式:选pserver方式,右边 设置按钮还可设置端口,默认 2401 ;路径:/+仓库名,该名字由配置管理员配置好的仓库名;主机地址:服务器IP地址或DNS名字;用户名:服务器分配的windows系统登陆用户;CVSROOT:不用设置;设置好后执行菜单:管理一一登录,弹出输入密码窗口,输入正确的密码后进入服务器,下方状态显示窗口提示:* CVS exited normally with code 0 *表示登陆成功,并且左边树形展现窗口切换到服务器视图(文件夹带“J”符号)。如果不是首次安装wincvs软件,切换登陆用户名或服务器时需先进行注销操作,再使用新的连接参数登陆才能成功登陆。第二章WinCvs的基本操作Wincvs采用菜单式操作,不用指令操作即可完成日常的更新、提交、删除资料工作。服 务器端存储路径(结构)为:仓库一项目/模块一根据配置项设置的各级菜单目录。2.1Wincvs基本操作创建新库文件的更新比较版本导入项目/模块文件的提交合并版本检出项目/模块文件的删除创建模块标签添加文件或目录基本操作本操作指南不做详细截图指导,仅做使用场合和功能解释,具体参看wincvs 自带的参考文档。创建新库:由配置管理员创建,其他人员无权创建;导入项目/模块(import):项目开展初期进行的操作,项目展开后无需再导入项目/模块,由配置管理员完成;检出项目/模块(check out):本地无工作拷贝时使用该菜单,或本地文件比较乱时使用,不经常使用,一般一周一次 或有很多新的文件在提交服务器时使用;文件的更新:包括更新单个文件、整个文件夹、整个项目,可通过更新提取出最新版本、历史各个版 本文件,可按时间、版本、标签或分支更新本地文件,可通过更新文件取消本地修改内容;文件的提交:在最新版本上提交可不选任何选项提交,版本号wincvs自动递增,在分支版本或以前版本上修改:先进行合并版本,修改,然后提交,具体操作见下面操作指导(还有一个简单的 办法是取出分支版本或以前版本文件,拷贝在别处,然后更新最新文件,在别处修改该文件, 修改好后拷贝回原先目录覆盖最新文件,然后提交);文件的删除:删除文件包括删除本地文件和删除文件(服务器),注意:执行删除文件操作将导致无 法恢复的后果,所以去除其他所有人删除的权限;添加文件或目录:在服务器没有拷贝时需添加文件或目录,执行该操作每个人在有读写权限的目录都可以 在相应目录下添加文件或目录;1. 对于目录不存在,先增加目录。点击“修改”一“添加选择的文件”,将目录加入。2. 目录存在,选中要添加的文件。三种方式:添加,二进制添加,unicode添加。此时文件还没真正入库。3. 提交修改。4. 对于新增的目录(目录下的子目录也是新增的),由于模块的相对性,采用导入模块的 方法更快捷。5. 通过导入模块的方法添加文件和目录。创建模块标签:当我们对项目中的很多个文件进行提交后,版本不一致我们可以创建标签进行标识,方 便日后检出,(也作为高级操作),标签分为build版本标签和日期标签(非正式的日期标签), 版本标签与基线版本相同演进,系统软件类格式:V1_0_1_01代表V1.0.1.01版本,形式:主版本号.次版本号.辅版本号.版本编译标识号(用于维护标识,可13位数字);终端类版本号 规则:V36_1_01_0代表V36-1.01.1版本,形式:终端型号-主版本号.次版本号.补丁号,补丁 号首次默认可为无,如有该版本的修改版则贴上099的补丁号;日期标签:格式:D_20061109 代表2006年11月9日的相关文件,创建的模块标签可选择有删除、重命名和移动的权限;2.2 Wincvs使用流程1检出模块:当本地无工作拷贝时先检出模块,检出后一般不再进行该操作;重 新 更 新 其 他 文 件远程(由修改勉查询(仍I 创建新库io,f导无项引模块,,创建模块标签(D,J 删除标©.创建分支(毋2更新文件状态:需对某个文件进行修改时,先进行更新本地文件(一般更新整个目录)到 最新版本再修改文件,如发现有人正在更新某个文件,请确定是否与你需要更新的文件相同, 如相同提交时请注意是否有冲突,如下图标记 M的粉红色字体部分为有人在修改此文件;cvs update -P ( in directory C : test开发库,管理文档)uvm m已rv已r: Updating 在管理文档目录下有M lllffW».dQC 人正在桌新的文件cvs server : Updating 研发部文档模板ISO9Q。(060802)cvs server : Updating 研发部文档模板IS09Q。(060802)存欠件* CVS exited normally with code *操作:,弹出选项可不用选择即可。更新设置各个选项的意义:检出文件到标准输出:检出文件为标准输出,仅对文本类文件有效;不递归到子目录:仅更新本目录下的文件,对子目录不进行更新;复位所有:对目前文件含有的日期、版本、分支标签进行擦除并检出最新版本;创建库中存在而本地丢失的目录:在父目录下创建了子目录,选择此选项可以把子目录 及子目录下的文件捡出;获取干净拷贝:在本地修改了文件后不需要保存修改到服务器,并想检出服务器上的正 确版本选择此项可检出最新、正确版本;文件的更新不会造成本地修改的丢失,如果仓库有更新的版本,cvs会把所有的改动合并的工作拷贝中,并将原来的cvs源文件保存城一个名字以“#”开头后面跟着这个文件名 的文件。3修改文件:在本机做自己的修改,并保证正确,并先在本地保存 copy ;源代码可直接双击关联编译软件打开,或在本机用编译器打开编辑,然后保存,注意提交后的CVS文件文件名不可随意更改,否则会造成历史版本的丢失,更改文件名后以前文 件成为多余文件;Word文档等可直接双击修改;所有文件都可下载本地,在本机其他地方修改好后覆盖到以前目录提交,注意文件名需 一致,进行提交;4准备提交:准备提交之前仍然要更新一次文件,看是否有人修改了你正要提交的文件和看 看是否有冲突;如果确认该版本线上只有自己修改该文件,可以忽略此步骤;如果有人正在修改相同文件而且提交了,版本演进到更高版本了,执行更新后版本变为 最新版本,则需要版本合并,本地修改则备份到相同目录下,先把本地修改提交后再与上一 版本合并,把其他人的修改也融合进来。如有冲突需要更新到最新后,私下解决冲突部分的 内容,决定取舍后再有其中某人进行提交;准备提交前的更新在更新设置里面不选任何选项。5合并版本或解决冲突:合并版本操作如下文高级操作;冲突是指多人修改同一文件的同一区域,CVS不会自动处理同一区域的文件选取,只 有通过人来解决这种冲突,决定取某个文件的内容为提交的版本;冲突只有修改的人进行沟通确认提交哪个人的修改,其他人按照该修改提交;6提交文件:提交你的修改,并输入提交日志信息,如提交失败则返回上一步,再次尝试提交;操作:更新选项(U),._Ctrl+U提立选项(吵一Ctrl+M-.资源管理器(的KE查询更新(Q)F4刷新视图(昌'FM查看选项F7用PdCit叩M查看(堕of弹出提交选项,输入日志信息后再进行提交:返回:提交成功,返回第2步更新文件状态;7需添加文件或目录:或目录操作,;首先右击相应的目录,如果配置库里面没有相应的copy需上传新的copy,需执行添加文件点击资源管理器打开相应目录:LJ-I - I -I 人.玉食>尽源1N11更新选项(由Ctrl+U提交选项(也,,Ctrl+M资源管理器(欢F2查询更新应厂F4刷新视图旧F5导入项目1模块佥 检出项目!模块仙, 删暧触鲤擎;CM+退格键定制核菜单1 r用项目|模块.岛资源管理器.8添加新文件和目录:在相应目录添加文件或目录后:1版本.选项|.我态研发部文档模1509000 ( 060802 )目录F叫D9用户手册编写规范,dm1.1.1.1 -kb 二进制? ?l>jnpvs中文操作指南,血匚非箜文件工具栏的显示忽略选项一定要选中, 才可显示非cvs文件,然后选中该需添加文件(或目录):修改(也查i或蠢(口宏S窗口荷帮助更新,同步选项, '提变Ctrl+UCtrl+M1 蒙加选项(由蒲加二诳制文怦 添加Unicode:件 删媵文件遍):'叫H选工册除本地文件(0(Ztrl+后退键j Del-kb删除标签(囚 创建分受®,Word文档、压缩包、PDF文档等需选择添加二进制文件 选项,点击后文件变成红色:目录囱研发部文档模1509000 ( 060802 )? 田D9用户手册编写规范,dm1.1.1.1 -kb 二进制更潮选项们).CH+U,却51至"七5 4-r.-kb改过的二进制提交选项(性,Ctrl+M资源管理器(处F2点击提交进行提交,输入日志注:增加新文件和目录也可通过导入模块实现,但此方法得输入正确的导入路径,以 免文件放在错误的目录下,导致旧版本丢失,操作如下:1. 在项目1模块或资源管理器窗口,选择需要添加的目录右击弹出菜单(项目I模块下可以 右击)或在菜单栏:远程一导入项目/模块;2. wincvs会试图辨别目录下的所有二进制文件,弹出窗口显示红色部分文件需手动选择 强制二进制,并确认是否正确设置了二进制文件;3. 在导入设置窗口设置远程模块名和路径,如果模块名叫V36,子目录为:DEV Storage/source code,则需输入:V36/DEV Storage/sourc e code ;在导入选项还可设置本地导 入文件所在目录,更改资源管理器下选择的目录错误,其他可默认;4. 点击OK,如无冲突则本地目录下的所有文件都提交到服务器的V36/DEV Storage/source c ode 目录下;5. 但是本地的文件没有置于版本管理之中,需要把本地cvs工作目录的相应文件备份后 删除,再次执行更新操作,则获得刚刚提交的所有文件都置于版本管理之中。9发现提交错误:发现提交错误或需要获取以前版本进行修改,可通过更新单个文件或整个目录(版本回退),选择以前最新的正确版本文件;10更新最新版本:执行文件更新操作,选项选择如下:选中以上两项表示丢弃当前附着版本号文件,获取最新版本号和文件内容,目的是为了 确认那个版本是正确的;11版本回退:更新到最新版本后,确认正确的前一版本后执行下面操作检出正确版本:如上假设错误版本为1.6,正确版本为1.5,该操作目的检出正确版本,版本回退目的是 把1.5版本演进到1.7版本,并且1.5版本等同1.7版本,然后在1.7版本基础上进行修改。 实现:先把1.5版本备份别处,通过更新文件到最新1.6版本,然后把1.5版本覆盖1.6版本 进行提交,版本则演进到1.7,实际1.7等同1.5版本。或者:执行版本合并操作,回退到需要的版本上:12删除服务器多余文件:删除文件执行菜单:修改一删除文 件(删除服务器文件),删除后将变的不可恢复,最 好需要删除先执行:修改一删除本地文件,验证该操作的可行性;另外CVS对于更改文件名和目录名存在明显的缺陷,更改文件名或目录名后将导致历 史版本的丢失,所以该操作也禁止进行。所有的操作在Wincvs服务端都有记录可查询,所以所有人对 CVS配置库的操作都将 可能作为配置管理报告的一部分内容写入报告中。第三章Wincvs的高级操作3.1版本标签提交服务器的文件经过一段时间后,版本不一致,而且源代码形成的烧录版本或可执行 文件也必须形成一个同一的版本,标识该版本烧录文件或可执行文件就通过版本标签实现, 方便日后检出相关文件。州除标篓(可 创建分支(眼检出顼目j模块.远程(田修改(吵查询愆创建新库侄?, 导寇项目i模块勇"创建模块标签©对整个目录执行:弹出选项如下选择:标识标签可仅对某个目录进行标识,需在模块名栏详细输入该目录路径,比如需对源代 码目录标签版本,在模块名输入:test/DEV Storage/Source Code/ 子模块1 Sourc e Code,就可 实现对 子模块1 Sourc e Code目录下的所有文件标识标签。如上文:系统软件类格式:V1_0_1_01代表V1.0.1.01版本,形式:主版本号.次版本号. 辅版本号.版本编译标识号(用于维护标识,可13位数字);终端类版本号规则:V36_1_01_0 代表V36-2.01.1版本,形式:终端型号-主版本号.次版本号.补丁号,补丁号首次默认可为无, 如有该版本的修改版则贴上099的补丁号。客户化版本或其他分支版本在版本号后面增加 字母标识。如V36_2_01_0_KHZ,后面的KHZ代表客户化(:)杭州(HZ)版,基于2.01.0版 本的修改形成客户化杭州版软件,今后杭州版软件版本的演进则在次版本号上进行演进,由 2.01演进到2.0 2 。版本标签也支持在本地创建标签,最好是先在本地创建标签后测试通过后再在服务器创 建版本标签。3.2版本分支软件开发的版本分支cvs也会自动管理,并且建立版本分支才能实现并行开发,当然也 适用于产品成熟后的版本管理。版本分支说明:上图展示了版本分支的情况,分支版本与主版本系列并存,可以进行并行开发,根据需 要在各个主版本上都可分出分支版本,而且如果需要,分支版本可以合并到主版本中。版本分支也与版本标签一样,通过统一的、有意义的标签来命名分支,每个分支可以通 过标签名看出分支的目的(比如用于某个客户)。,远程起修改(吵查询(oi 创建新库(Q,:导衣项目/模块:检出项目,模块(K)'',创建模块标签(D,; 期除标签(口操作:创建分支上述操作创建了 V2_10_KCZ的分支,分支名V2_10_KCZ代表:V2.10版本的分支,字 母KCZ代表客户化版本出租版,客户、出租的拼音首字母。点击ok则创建了该版本分支。创建后要对该版本分支进行检出、修改、提交则需要再更新出该分支的所有文件,在版本分 支上提交一定注意提交日志,以便日后的管理和维护,并且可通过版本合并把版本分支上的 修改合并到主版本上。注意:创建版本标签一定要在对该目录有写权限,就是说在有写权限的最后一级目录 才可加标签,否则不能添加标签。版本分支的合并:版本合并有两种情况:分支版本合并到主干版本上和主干版本合并到分支版本上。一般 为保持主干版本保持更新状态,一般进行分支版本合并到主干版本上,但有时分支版本由于 采用客户的特殊需求等其他原因不能与主干版本保持一致,而分支版本也需要采用主干版本 的最新开发成果则进行主干版本合并到分支版本上操作,操作:上述选择意思是将1.3版本与1.2版本之间的差异补到当前1.3版本上,相当于从1.3版 本上将1.2到1.3之间的变化又减去了,恢复到1.2版本的内容。Cvs对合并进行的处理:目录级的处理:如果两个版本添加不同的文件,则合并结果为不同文件都添加;如果两个版本删除不同的文件,则合并结果为不同文件都删除;如果两个版本添加或删除相同的文件,则合并结果也为添加或删除这个文件,但这种情 况并未涉及到文件的合并。文件级的处理:如果两个版本在不同的地方添加内容,则合并结果包括两个版本都添加 的内容;如果两个版本在不同的地方删除内容,则合并的结果两个版本删除的内容都被删除掉;如果两个版本在不同的地方做修改,则合并结果包括两者的修改;唯一会引起冲突的情况是两个版本在相同的地方做了修改,这种情况只有通过人工解决 该冲突。3.3查询的高级应用1执行菜单:查询一查询更新,可在下方视窗查看到正在更新的文件;2执行菜单:查询一差异比较,可关联本地文件和远程服务器上的文件通过文件比较器 比较差异;3执行菜单:查询一日志,可查询历史的各个版本修改日志,包括版本、日期、作者、 日志信息;4右击选中的文件,可执行相应的查询菜单,包括:比较选项、选项日志、选项状态、 选项图形、选项注解;5选中需查询的文件,在工具栏有相应的快捷菜单;3.4版本冲突和解决版本冲突发生在并行开发的很多时候,如果文件修改频繁或文件开发系统庞大,则需要 对该文件进行分支版本解决。如果发生在同一版本线上的版本冲突,比如说A、B修改X文件,A修改了 1、3部分并形成版本为1.4,B修改了 2、3部分形成版本为1.5,合并时就出 现冲突,3的部分的修改必须A、B私下商量解决采用那个版本的内容。解决思路有多种:1决定取舍后把3的内容A的修改替换B的修改,形成1.6版本,执行1.6与1.4的版本 合并形成1.7版本,然后再把3的正确修改替换后形成正确版本,如采用 A的修改则不需再 替换;2直接修改1.5版本文件1、3的修改,通过人工替换修改部分内容后提交;第四章Wincvs客户端操作使用注意事项和故障处理1,采用windows自带系统用户进行权限管理,应按各级目录分配下来,具体权限的控 制和分配在最后一级目录实现;2,提交文件时对文本类型文件可直接执行添加选项提交,包括各种源代码文件、HTML、 XML文件等,其他二进制文件(比如:.jpg、.doc、.dll、.a、.so、.la后缀的文件)需选二进 制提交,二进制文件在服务器上是原封不动的保存在服务器上,直接添加选项提交二进制文 件时出现提交的文件是错误的文件,原因是提交的文件已经被破坏了,同时二进制文件无法 完成版本比较和版本合并,也必须尽量避免对二进制文件使用版本分支;3,提交的文件名称不能大于16个汉字(32个字符),否则不能提交;4,出现“ Connection to server failed ”提示的问题,在配置连接参数正确的情况下可能 原因:a,软件未正确安装,重新卸载软件并重新安装;b,网络不能连接服务器,Internet 选项里设置了代理或天网、瑞星防火墙挡住了连接,解除代理或解除限制;c,客户端电脑中了流氓软件或病毒,需杀除流氓软件或病毒,并重启机器;d,服务端电脑未开启cvs服务器或端口被其他软件暂用(中病毒也可能导致),重启电脑并开启cvs服务端软件;5,处理并行开发的问题:并行开发一般通过分支版本进行并行开发,但是针对一个主版本(或分支版本)文件的 并行开发,即同一个文件不同的人在改而不能提交的问题,解决方法只有通过版本合并进行 提交才是正确的版本。举例说明:比如X文件,原先版本1.2,有两个人A和B同时检出X文件1.2版本进行 修改,A改的快,X文件已经提交了几次了版本演进到1.5版本了,此时B想提交他的文件, 出现不能提交。如果B更新文件到最新1.5版本,其修改会被1.5版本文件覆盖,修改的文 件以“#”开头的相同文件名同时被保存在相同的目录下。如果此时B用自己的修改提交文件把版本升级到1.6,则会丢失1.2到1.5版本A的修改,解决的办法是B升级到1.6的同时, 把1.6和1.5版本合并,把两个人的修改都提交,并形成 1.7版本,1.7版本为含有A和B的 修改的文件。6,服务器端删除文件和文件夹的问题:通过客户端操作删除文件,实际在服务器端没有被完全删除源文件,只是表明该版本的 后一版本被删除,在该版本之前的所有文件仍然可以检出;删除文件夹在客户端无法进行, 只有在服务器端删除,但是删除文件夹后再次需要提交相同的文件夹时会出现错误,无法提 交相同文件夹的名字,所以一般不建议删除文件夹操作。7,提交文件时避免直接选定最高级目录提交,这样会导致其他没有 更改文件也提交, 每个文件都演进版本,占用了服务器硬盘空间,文件少提倡直接制定文件提交,文件多才使 用目录提交;8,导入文件时操作需填写清楚目录路径,而且每一级目录路径的间隔符号为“/”,这点与VSS操作稍有不同,需要注意这点;