技术开发 频道

软件版本管理之Starteam HowTo

4. Branch

    4.1 Starteam和CVS的分支不同点
    (1)CVS基于文件管理,不同分支的同一文件,即使内容不同,也都体现在同一个文件中;Starteam建立分支是基于工程和数据库,两个分支的文件可以指到一个相同的物理文件,也可以使不同的物理文件,这样两个分支的文件可以同步变化(Float Branch),也可以分别独立控制(Fixed Branch);
    (2)CVS分支用Tag来管理,不同分支用rtag/tag -b来建立,并且不同分支打的分支Tag或Tag,可以被其他分支看到。Starteam的分支不通过建立标签实现,而是生成另外的一套数据库。
    (3)Starteam建立分支的方式:

  • 同一视图的不同目录

    另外建立一个目录作为分支的根目录,用ctrl+Drag将预建立分支的版本在该目录建立共享,再选择Behavior Branch on change;则在这些文件修改并Checkin 时,会建立新文件而分支;也可以为方法1新创建的分支目录来建立视图来方便管理。

  • 不同的视图(建立分支视图)

    创建分支视图,在创建过程中选择Permit items to branch within this view来创建分支。分支视图的好处是,有自己独立的Lable(Tag)命名空间,不象CVS只有一个Tag命名空间。

  • 推荐使用分支视图方式。

    (4)CVS、Starteam都可以实现分支和主线和合并。
    CVS命令行功能强大,可以通过命令行完成分支的管理;而Starteam对视图的管理只能通过图形界面实现。

    4.2 建立分支注意事项
    (1)通过分支视图建立
    建立新视图,在步骤一,选择文件分支,如图1:


图1 建立分支视图步骤一


    在步骤五,注意"Floating Configuration"和"Configure as ..."的区别:


图2 建立分支视图步骤五


    一般情况下,请选择"Configure as ...",这样当建立完成后,程序即刻分支,否则选择"Floating Configuration",子视图在没做修改前,一直和父视图同步,称为"Variant View"。
    如果选择了"Floating Configuration",可以通过将分支视图的所有文件强制Checkin,即可。
    判断建立好的视图是否为分支视图,查看视图的属性:


图3 视图的属性


    (2)通过文件共享建立分支
    建立一个目录作为分支的根目录,用ctrl+Drag将预建立分支的版本在该目录建立共享,再选择Behavior->Branch on change;则在这些文件修改并Checkin时,会建立新文件而分支;
    通过该方法建立的分支,分支文件仍和主干文件保持同步,直到分支的文件被修改而不是主干文件修改,方建立分支。
    如果想从一开始便建立分支,将分支文件强制 Checkin,即可。

0
相关文章