SVN-高级应用使用指南14009.pdf
《SVN-高级应用使用指南14009.pdf》由会员分享,可在线阅读,更多相关《SVN-高级应用使用指南14009.pdf(15页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、文档规则 本地工作区:work copy,本地工作副本;主项目:引用共用模块的新项目(工程)最新版本(HEAD revision):版本库里文件或目录的最新版本 SA:SVN 服务器的管理员 PRA:单个项目库的管理员,或者是项目负责人 User:普通工作人员 WC:work copy,本地工作副本 一、模块化开发中 svn 的使用 主要介绍模块化开发中公用模块/组件的版本控制,介绍两种方法。其中,公用模块一般指那些已经完成的、不可修改的、无法编译成dll 的、功能较为完整的代码群。1.1 手工维护公用模块/组件的本地工作区 将公用模块(的所需版本)直接 取出 ckeckout 到本地,公用模
2、块的本地工作区 可以作为被引用的主项目 本地工作区 的子目录也可以放在其他独立目录中。主项目的提交 commit 对公用模块的本地工作区 不会发生任何影响,而且公用模块的本地工作区 需要项目团队中的每个成员与主项目 本地工作区 相对独立的维护(取出 ckeckout),可能会出现不同项目成员之间的公用模块本地工作区 不一致的错误。1.2 Svn 自动维护公用模块/组件的本地工作区 需要使用 svn:externals 属性,具体操作步骤如下:察看主项目 本地工作区 的目录属性 添加 svn:externals 属性,格式:子目录名称-r 版本号 公用模块的 URL。公用模块取出 ckeckou
3、t 出来的本地工作区 必须作为主项目本地工作区 的子目录,格式中的“子目录名称”就是指公用模块的本地工作区 目录名称,注意不要与主项目自身的目录同名。如果需要使用公用模块的特殊版本,需要设置格式中的“版本号”,注意加上“-r”。设定好 svn:externals 属性后需要进行提交 commit 操作。项目团队的其他成员直接更新 update 即可,能够自动得到公用模块的本地工作区。主项目的提交 commit 对公用模块的本地工作区 不会发生任何影响。如果引用多个模块,只需要在设置该属性值的时候将多个模块的路径都填写上去即可。注意:公用模块的本地工作区 一般不建议进行修改,即不要直接对公用模块
4、的本地工作区 进行修改、提交 commit 操作,建议管理员将公用模块的svn 库的权限设置设定为只读权限。如果公用模块确实需要针对主项目进行个性化修改,这种情况的处理方法在此次讲座的后面将会谈到。二、分支技术与产品化开发 2.1 tag/branch 的作用和区别 分支:常用来测试新功能,但又不会因为编译错误或BUG 干扰开发主线。标记:用来对项目的特殊版本进行标记,通常不再用于开发。当然你也可以修改/tags/中的副本,但提交时 SVN 会有警告。例如当项目达到发行状态时可以创建一个发行版本的标记。注意:/trunk/branches/tags 是 SVN 默认的 主干/分支/标记 目录的
5、名称,SVN 将对这三个目录有特殊的处理。2.2 推荐的版本库结构:一个项目建立一个版本库,trunk 目录来存放开发的“主线”,branches目录来存放支线副本,tags 目录来存放标签副本。具体结构如下 Project_XXX./trunk./branches./tags Trunk 目录保存开发的“主线”,保存项目日常开发过程中代码和文档的各个过程版本,一般建议 Trunk 目录下面至少包含两个目录:Document、Source、Product,分别保存文档、程序源码、交付用户的安装包及手册。branches 目录来存放支线副本,建议 branches 目录下至少包含两个目录:Alp
6、ha 和 Special,分别保存测试分支和定制化开发项目分支。创建分支时分支的名称要尽量能够表明分支的用途,例如一个测试分支名为FirstTest20070601,其目录为Project_XXX/tags/Alpha/FirstTest20070601。使用支线的的常用模式为:1、项目达到可测试状态准备交给测试团队进行测试,创建 Trunk的测试分支保存至 Alpha 目录下,测试团队从这个测试分支获取安装包或者程序等进行测试;2、项目要根据另外一个新客户进行少量定制化开发,为了避免干扰目前项目的开发,创建 Trunk 的定制化开发分支保存至 Special 目录下。tags 目录来存放标签
7、副本,以方便查找某些重要项目版本。建议目录下至少包含两个目录:Release 和 Other,分别保存产品发布标签和其他标签。使用标签的常用模式为:1、当 Alpha 分支经过严格测试达到发布标准后,将 Alpha 的最新版本做 Tag 保存在 Release 目录中;2、重要里程碑阶段进行 Tag 保存在 Other 目录。2.3 如何做 branch 2.3.1 分支 主干 实施团队开始为某个单位进行实施前,首先通过配置管理委员会的评审来建立相应实施模块的分支。需要对该单位实施多少个模块,就要针对多少个模块分别建立分支,分支的名称建议采用“项目名+时间”的形式,下图显示的为 source模
8、块所建立的 XXX 厂的分支:选择“切换工作拷贝到新分支/标记的选项”时,本地工作区将变成新建分支的副本。一般来说,这个分支是不是由实施团队建立的,操作人员没必要马上将自己的工作区变成分支的副本。需要变成分支副本时,可以还可以通过切换Switch.命令完成转变工作。切换 Switch.操作时一定要注意目录的对应关系,即切换后目录的项目意义不能发生更改,在 trunk 主干上是 class 目录切换分支后不能是别的目录。进行改操作之前必须提交 commit 本地工作区,并尽量在 本地工作区 的根目录上进行改操作。2.4 实施团队版本控制工作内容 2.4.1 建立实施项目的版本库 参照“2.2 推
9、荐的版本库结构”中介绍的方式组织版本库,经配置管理委员会评审并建立该实施项目的版本库。2.4.2 组织本地工作区 项目实施负责人首次取出 checkout 新建分支后,按照 Svn 自动维护公用模块/组件的本地工作区 将 soruce 目录的 svn:externals 属性进行设置,然后提交供实施团队中其他人员下载(取出 checkout 或者更新 update)。如果引用的模块(子系统)需要个性化修改,可以由配置管理委员会将该模块(子系统)所实施项目的分支权限设置为可编辑模式,项目实施团队对该分支进行修改、提交操作。2.5 brach 合并 2.5.1 分支主干 实施团队在分支上的工作过程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SVN 高级 应用 使用指南 14009
限制150内