三、软件配置管理工具
Firefly是Hansky公司软件开发管理套件中的重要组件。Firefly可以对大型软件开发的程序代码和相关文档进行管理,具有以下突出的特点:
1、本地工作区(Local Workspace)
Local Workspace存储从服务器上下载的一个分支的下的文件,开发人员在工作时首先要从服务器上将最新修改的项目文件下载到本地工作区,然后才能对项目文件进行编辑、编译、调试等工作。有了Local Workspace,可以保持本地的工作文件和服务器上的工作文件的同步。同时,还可以比较本地工作区文件与服务器文件的不同,在每次下载和上传时不必将所有的项目文件都传输一遍,从而提高了工作的效率。
2、标签(Label)
Label采用索引技术提高了操作效率,通过下载Lable的功能为编译、测试提供了便利。
3、两种开发模式
Firefly支持并行/串行两种开发模式,并且提供向导来检验和解决文件的冲突,使得团队的开发快速、便捷而且高效。
4、分支
在Firefly中可以方便的建立项目的分支,可以在主分支上建立分支,也可以在次分支上建立分支,还可以在Label的基础上建立分支;建立分支的时候可以选择父分支的一部分文件。
在开发主分支的同时有可能同时开发修正Bug的分支,当主分支的开发工作告一阶段后,通常会把Bug修正分支合并到主分支上去,如下图:

这种建立和管理项目分支和记录分支间父子关系的功能,避免了由于两方归并所造成的混乱问题,为软件产品的多个版本的同时开发提供了强有力的支持。
4、变更集
Firefly将每一次工作区的检入都视作一个变更集,每一个变更集都作为项目分支的历史被保存下来,管理人员可以通过WEB界面方便的查询分支的历史。
5、原子事务
利用原子事务的概念,将一个包含多个文件改变的入库操作作为一个事务(Transaction)来对待,全部文件的提交只有成功或者不成功两种情况,没有中间状态(如一部分成功提交,而另一部分提交失败的状态)。这样能够处理一些操作过程中的异常情况,比如提交过程中网络中断等,保证软件系统的一致性,防止其他开发人员取到错误的代码而编译、运行失败。
6、本地记录
通过Delta操作支持本地版本的记录。在某一工作区中,修改了一个文件,然后通Delta操作,可以在本地记录下一个新的版本。提交到服务器上后,其他人也可以访问这一版本。
7、权限控制
Firefly采取了类似于NTFS的权限控制体系,不仅能够控制项目分支一级的权限,还可以深入到目录/文件一级进行权限设定,文件的权限缺省从目录继承,还可以手工对特定文件的权限进行调整;并且可以细分权限的等级。这种权限体系可以保证项目所涉及到的开发工作都处于受控的状态下,从而保障项目不受干扰,能够顺利开发。
| 第1页: 大型软件系统 | 第2页: 软件配置管理工具 |
| 第3页: 建立配置管理体系 | 第4页: 逐步完善分支创建方式 |