Vic*_*ues 38 svn naming-conventions
我们公司正在为SVN分支和标签创建一个命名约定,我对在分支/标签名称上仅使用日期或内部版本号的想法感到不舒服.
我认为我们需要的名称能够更好地定义这条路径代表什么,正在做什么努力等等.
你觉得/用什么?
Eva*_*van 13
我总是在标签(通常是分支)前面加上YYYYMMDD格式的日期,然后是标签或分支的用途说明.
例如,20090326_Release_v6.5或20090326_Post_Production_Update
当然,这是在标准的trunk/tags/branches层次结构下.
日期前缀确保它们的所有标记或分支都按创建顺序显示,如果您通过标记的大文件夹进行扫描,那么只需按描述排序就更有用了.您可以看到创建时间和原因的时间表(如迷你日志消息).
好吧,分支是非常开放的,因为有几种不同类型的分支,它们的命名可能非常不同.
值得记住源代码控制给你的东西.标签名称不只是"v1.4",而是"/CashCowProject/tags/v1.4".命名标签"/CashCowProject/tags/CashCowProject-v1.4"有点多余,还有什么呢?
修订控制还使您可以完全访问标记的创建日期和时间.修订控制还为您提供了应该使用的提交消息,尤其是第一行.
鉴于所有这些信息,将一个简单的视图集合在一起并不难,为您提供所需的所有信息,来自一致且适当的来源,例如:
CashCowProject
v1.4 - 26 March 2009 : With Added whizzbang (more)
v1.3 - 13 February 2009 : Best graphics! (more)
v1.2 - 01 January 2009 : Upgraded security (more)
Run Code Online (Sandbox Code Playgroud)
标签名称唯一真正有用的是版本号.如果你试图将所有信息都放到标签名称中,那就有点罗嗦了,我敢打赌它看起来不会那么好.
我们所有的开发人员任务都会进入错误跟踪系统。该错误跟踪系统具有与每个任务关联的 ID。
因此,对于任何任务的分支名称,我们使用:
ticketId_TicketSubject
当一个分支包含多个ticketId时,我们只需将它们组合成分支名称:
ticketId1_ticketId2_Description
这样,如果您在票证中并且想知道要构建哪个分支,您可以轻松查找。同样,如果您想在分支构建中找到票证,您也可以轻松找到它。
对于标签,我们通过版本号本身来标记它。
至于各个分店的位置。我们有一个像这样的顶级层次结构:
/branches
/tags
/trunk
然后我们所有的产品/项目都位于各自的子文件夹中。
/trunk/project1/
/branches/project1/TicketId_Description