Collabnet Subversion集成还是比较常用的,于是我研究了一下Collabnet Subversion集成,在这里拿出来和大家分享一下,希望对大家有用。
此文档面向CollabNet Enterprise Edition的用户,这些用户已经相当熟悉Subversion的核心产品,并且已读过Subversion的主要书籍:使用Subversion进行版本控制。同时,此文档假定读者对CollabNet有一定程度的了解,即他们以前使用过CVS支持的CollabNet项目。
存储库布局
Subversion为每个项目使用独立的Subversion存储库。项目最初创建时,会使用此Subversion书推荐的默认布局创建一个新的存储库。本质上,此存储库是一个单个的“项目根目录”(如在Subversion书中的“选择存储库布局”中所论述):
/branches/
自述文件
/tags/
自述文件
/trunk/
www/
index.html
自述文件
像任何Subversion存储库一样,建议项目将其主要的基本代码存储到/trunk中,然后使用svncopy命令将/trunk目录复制到/branches和/tags区域中,以创建分支和标签。
“Live”项目主页
/trunk/www区域是一个特殊的目录,这和它在CVS支持的项目中一样。如果在项目设置中选择了“使用项目index.html”选项,则此目录表示该项目的主要网站。向此区域提交任何内容都将导致项目首页的立即更新。
提交电子邮件
每当有内容提交到存储库时,都将发送电子邮件至commits@yourproject.domain。此为一标准程序,使项目成员订阅此列表以增加他们对彼此活动的了解。
Subversion客户端验证
注意:此部分的信息假设您的站点不要求SSL客户端认证。若您的站点使用SSL客户端证书,请参见使用客户端证书的Subversion客户端验证。存储库的URL通过在项目的主URL后添加/svn/projectname构成。建议签出/svn/projectname/trunk,而非存储库的根目录:
$svncohttp://project.domain/svn/project/trunkproject
Authenticationrealm:
Passwordfor'username':XXXXX
Aproject/
Aproject/www
Aproject/www/index.html
Checkedoutrevision1.
Subversion客户端必须提供有效的CollabNet用户名和密码,才能访问存储库。若您的CollabNet站点被配置为使用https://而非http://,则您也必须使用https://才能访问Subversion存储库。此操作模式将通过连接的所有信息(包括您的密码)都进行了安全加密。
Subversion客户端成功进行身份验证后,它会自动试图将凭据缓存到用户的运行时配置区域中。若要阻止这种磁盘上缓存(或只是要了解有关此功能的更多信息),请参考Subversion书中的“客户端凭据缓存”。
CollabNet服务器授权
Collabnet Subversion集成的较好功能之一就是能够使用CollabNet“角色”和“资源”以控制不同用户对存储库中特定路径的访问。若要概括了解CollabNet角色,请参见此文档。
正如使用CVS支持的项目一样,用户可能会在您的项目中申请大量的标准角色。下面的角色与版本控制的相关性***:
观察员
对整个Subversion存储库具有只读访问权限。
内容开发人员
对/trunk/www仅具有读取/写入访问权限。无法读取或写入存储库的任何其它部分。
开发人员
对Subversion存储库具有完全读取/写入访问权限。
项目经理或项目所有者
与“开发人员”具有相同的版本控制权限,但对CollabNet其它部分具有额外特权。此外,项目所有者可能会希望为其项目创建属于他们自己的特定资源和角色。由于Subversion在普通的文件系统空间中提供所有的分支和标签,因此能够选择性地限制对分支和标签的访问,这是超越CVS的一个极大的改进。例如:您可以定义开发人员角色,这一角色对存储库中除/tags目录以外的所有部分都拥有写入访问权限;然后创建一个拥有特殊权限的特殊“发行经理”角色,以创建新标签。有无限种可能性。
存储库浏览
可以在项目的导航栏中使用“版本控制-SCM”链接来浏览文件的历史记录。但是,Subversion与CVS还不尽相同,因此,在浏览Subversion存储库时存在一些差异:
文件中不存在用于显示每行注释的选项。(但您可以从客户端运行“svnannotate”。)
检查文件修订列表时,没有用于显示相对于上一修订版本所更改的行数的“更改行数”字段。但是,存在一个显示每次修订大小的“文件大小”字段。
由于Subversion将分支和标签放置在普通的文件系统空间,因此不显示“分支”或“标签”字段,也不显示查看分支的下拉框。而是提供文本字段,用于区分任意两个存储库路径:您可以使用此字段在分支或标签目录中将一个文件和它的另一个版本进行比较。
与项目跟踪工具集成
若您的Subversion项目配置为使用项目跟踪工具(PT)而不是事件跟踪工具,则可使用更高程度的集成。项目所有者可以在“工具配置”页调整Subversion和PT之间的三种集成设置。
可将项目配置为允许Subversion提交将提交信息追加到PT工件。若提交日志信息提及特定的PT工件,则以下内容将被追加到该工件:
提交日志信息已修改的文件路径
用于查看文件更改的URL
为触发自动追加,提交日志信息中必须包含与项目跟踪工具工件标识符匹配的字符串:具体而言,该字符串必须具有1到4个字母,字母后跟有大量数字。任何匹配的字符串都被自动认为是可能会追加的“候选”项目跟踪工具工件。
除上述规则外,如果标识符的文本“事件”、“错误”或“工件”后跟有数字,且在项目中作为项目跟踪工具工件标识符存在,则此标识符将被标识为有效标识符。还可以使用项目中正在使用的工件类型名,因此如果项目具有“缺陷”和“需求”工件类型,则该项目中的工件标识符可以称为“需求1”或“缺陷3”。如果在具有名为SC1、SC2和SC3的工件的特定项目中存在缺陷工件,但提交信息中带有文本“需求3”,此标识符仍将被视作带超级链接的有效标识符。也可将SCM配置为强制所有提交日志信息至少提及一个项目跟踪工具工件。如果提交信息未达到此要求,则将拒绝整个提交。也可将此功能进一步配置为要求提到的工件标识符由执行提交的人“拥有”。这两种设置都可以用于强制执行项目中特定的版本控制策略。以上介绍Collabnet Subversion集成。
【编辑推荐】