您对SVN分支和标签使用哪些命名约定?

Vic*_*ues 38 svn naming-conventions

我们公司正在为SVN分支和标签创建一个命名约定,我对在分支/标签名称上仅使用日期或内部版本号的想法感到不舒服.

我认为我们需要的名称能够更好地定义这条路径代表什么,正在做什么努力等等.

你觉得/用什么?

Eva*_*van 13

我总是在标签(通常是分支)前面加上YYYYMMDD格式的日期,然后是标签或分支的用途说明.

例如,20090326_Release_v6.5或20090326_Post_Production_Update

当然,这是在标准的trunk/tags/branches层次结构下.

日期前缀确保它们的所有标记或分支都按创建顺序显示,如果您通过标记的大文件夹进行扫描,那么只需按描述排序就更有用了.您可以看到创建时间和原因的时间表(如迷你日志消息).

  • 使用标签作为一种机制来跟踪错误跟踪系统旨在提供的信息似乎违反直觉。我所见过的几乎唯一的事情就是在标签中使用版本号。该版本号与错误跟踪系统的发布相关联,其中包含您需要的任何详细信息。 (2认同)

Jim*_*m T 9

好吧,分支是非常开放的,因为有几种不同类型的分支,它们的命名可能非常不同.

值得记住源代码控制给你的东西.标签名称不只是"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)

标签名称唯一真正有用的是版本号.如果你试图将所有信息都放到标签名称中,那就有点罗嗦了,我敢打赌它看起来不会那么好.

  • 我认为这种想法适用于标签,但不一定适用于分支机构。我可以打开一个实验分支,并且有任何数字不会告诉我该分支的含义。 (3认同)
  • 实际上,我完全不让分支命名出这个答案,而且一个数字不是一个好的分支名称. (3认同)

Bri*_*ndy 3

我们所有的开发人员任务都会进入错误跟踪系统。该错误跟踪系统具有与每个任务关联的 ID。

因此,对于任何任务的分支名称,我们使用:

ticketId_TicketSubject

当一个分支包含多个ticketId时,我们只需将它们组合成分支名称:

ticketId1_ticketId2_Description

这样,如果您在票证中并且想知道要构建哪个分支,您可以轻松查找。同样,如果您想在分支构建中找到票证,您也可以轻松找到它。

对于标签,我们通过版本号本身来标记它。

至于各个分店的位置。我们有一个像这样的顶级层次结构:

/branches

/tags

/trunk

然后我们所有的产品/项目都位于各自的子文件夹中。

/trunk/project1/

/branches/project1/TicketId_Description