准备工作

1、 阅读AccuRev Concepts Manual文档,了脚AccuRev的相关概念和其版本管理理念。

2、 阅读AccuRev Technical Notes文档,了解AccuRev的安装步骤。


安装
AccuRev

1、 按照AccuRev Technical Notes文档所示,进行安装(登陆Accurev可以申请一个试用版的key,有效期大概30天;我有破解版的key,可以无限制使用,限于版权,请需要的人直接和我联系,仅作为学习使用,禁止用于商业用途!)。若只需要客户端,则装Client,不需要key。

2、 对于服务器端,要为storage选择一个比较大空间的硬盘。

3、 注意安装路径不能有中文。Accurev对中文支持很差,管理的代码不仅路径不能有中文,就连代码注释最好也不要有中文,否则对比merge时无法正常显示。

4、 还可以安装AccuRev Bridge for VS2005WExplorer(windows explorer集成工具)

5、相关软件都可以在Accurev网站上下载获得,如果觉得下载速度太慢,可以直接与我联系,目前版本为4.6.1

基本操作(个人开发)

1、 按照Getting Acquainted With AccuRev文档所示,新建depot(工程代码仓库),进行用户名注册、代码添加。注意添加的代码文档名称和路径不能有中文。

2、 添加完代码,会出现Dynamic Stream(动态流,简称“流”)和一个基于该流的Workspace(工作空间,简称“WS”)。WS中的每个文件变为backed(即与基流版本保持一致)。

3、 在这个WS中可以任意修改代码,回到ARGUI刷新后,能看到相应的文件变为modified(该文件被修改)。

4、 选择keep(保留),就被上传到与基流同步的私流(在概念上私流与WS是处于同一级别,即每个WS有自己的私流;但在存储位置上,私流是与基流同处服务器端的版本库里)中。

5、 通过promote(提交),才会最终上传到基流中。当然可以一步promote完成所有工作。服务器自动记录下所有修改的版本。

6、 若需要回溯到某个旧版本,可以在基流D上新建一个流D_1,定义好时间或版本号。将WS重定向至该流D_1Update(更新)后就能得到该版本。


进阶操作(协同开发)

1、 与基本操作相同,建立depot,引入代码并用户注册,生成基流A

2、 在基流D的基础上生成新流D_1,在D_1上生成新的穿越流(Pass-Through Stream,起链接点的作用,不保存版本信息)。在穿越流的基础上再建立各人的WS。穿越流的好处在于,如果工作组需要集体变动代码版本时,可以直接将该穿越流定向到新的流,工作组中所有人的WS都能自动的定向到新流。

3、 每个人的修改都通过keeppromote来提交。Keep有助于个人对自己工作的监控和回顾。在个人WS中,可以无限次的keep相关代码;当发现问题时,可以随时找回旧版本进行比对检查。Promote有助于多人代码的共享。当每个人负责的代码最终通过后,才提交到基流D_1,与他人分享更新。他人是无法看到自己keep的历史代码,只能拿到promote的代码。

4、 Promote到基流D的代码,AR会自动更新其子流D_1,但不能自动更新WS。每个WS必须手动Update

5、 若多人同时编辑一个文件,则update的时候,AR会以黄色条提示overlap。此时需要手动merge两个版本的代码。通过AR自带的merge工具,能够快速的定位不同之处,并选择保留和更新的部分。

6、 merge完成后,可以再次选择keeppromote


发布操作

1、 若需要对某个时期的工作进行总结,给出一个可执行的完善版本,可以使用SnapShot(快照,其版本内容是不会改变的)。在当前流的基础上,新建快照,可获得某个健壮的版本。

2、 若要对某个快照B_S进行修改,比如补丁或改错,可以在B_S的基础上生成流B_S_D,重复个人开发或协同开发的相关步骤即可。而B_S_D则为B_S的修订版本。

3、 B_S_D已经成功解决了相关问题,并且希望能更新其他非B_S下的流以便在更高版本的软件中修正该问题时,可以在Stream Browser(流浏览窗)中,将该B_S_D下的修改标记拖曳到需要合成的流(例如B_D2)的WS图标上。此时会出现Change Palette(更正板窗口),其中列出了版本不同所有文件的信息。对于不冲突的,可以直接promote,进行覆盖;对于冲突的,需要手动进行merge后,重新拖曳和promote。在WS中获得了新的合成修正版本后,再promote至其基流B_D2


问题跟踪

1、 先要对问题库的字段进行模板(schema)设置,可以使用默认的。

2、 待续