我们公司正在为SVN分支和标签创建一个命名约定,我对在分支/标记名称上仅使用日期或内部版本号的想法感到不舒服。
我认为我们需要的名称能够更好地定义这条路径代表什么,正在做什么努力等等。
您的想法/用途是什么?
答案 0 :(得分:12)
我总是在标签(通常是分支)前面加上YYYYMMDD格式的日期,然后是标签或分支的用途说明。
例如,20090326_Release_v6.5或20090326_Post_Production_Update当然,这是在标准的trunk / tags / branches层次结构下。
日期前缀确保它们的所有标记或分支都按创建顺序显示,如果您通过标记的大文件夹进行扫描,那么只需按描述排序就更有用了。您会看到创建时间和原因的时间表(如迷你日志消息)。
答案 1 :(得分:8)
嗯,分支是非常开放的,因为有几种不同类型的分支,它们的命名可能非常不同。
值得记住源代码控制给你的东西。标签名称不只是“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)
标签名称在这里唯一有用的是版本号。如果你试图将所有信息都放到标签名称中,那就有点罗嗦了,我敢打赌它看起来不会那么好。
答案 2 :(得分:4)
对于功能分支,请在完成操作后对其进行命名。例如,我将ORM从LINQ迁移到SQL到NHibernate,并创建了一个名为“NHibernate”的分支。完成分支并将其合并回主干后,您可以删除分支以保存将来的命名冲突。如果你真的需要检索分支,你只需要深入研究历史并恢复它。
如果您有与分支相关的故事/报价/工作号,我会将其附加到分支的名称,例如。 “NHibernate_429”,因此您可以轻松地将其与您的跟踪系统相对应。但是,我总是首先使用英语,因为人们在开发过程中会更真实地引用它。
对于像标签之类的东西,很难说你想做什么,因为它取决于你在标记什么。如果你正在标记版本,那么我会使用“Release X.X.X.X”或类似的东西。当您回顾特定版本时,您真的不在乎日期或内部版本号是什么。
答案 3 :(得分:2)
我们所有的开发人员任务都进入了错误跟踪系统。此错误跟踪系统具有与每个任务相关联的ID。
因此,对于任何任务的分支名称,我们使用:
ticketId_TicketSubject
当分支包含多个ticketIds时,我们只将它们组合到分支名称中:
ticketId1_ticketId2_Description
这样一来,如果你在一张票中并想知道要建立哪个分支,你就可以轻松查找它。同样,如果您想要使用分支构建查找故障单,也可以轻松找到它。
对于标签,我们用版本号本身标记它。
至于每个分支的位置。我们有这样的顶级层次结构:
/branches
/tags
/trunk
然后我们所有的产品/项目都在他们自己的子文件夹中的每一个下面。
/trunk/project1/
/branches/project1/TicketId_Description
答案 4 :(得分:1)
我们使用的内容(主要遵循公认的惯例):
projectName
|
--trunk
|
--tags
|
--branches
在行李箱下我们有主干。
在标签下我们标记每个版本(内部版本,测试版本和客户版本)。我们只使用版本号作为标签名称。
在分支下,我们为我们发布的每个主要版本都有一个分支(在我们的例子中是一次XP迭代的结果)。这些被命名为主要版本(“v5.03”,“v6.04”)。此外,我们还有主要变更或特殊版本的内部分支机构。命名是自由格式的,名称应该告诉人们分支代表什么。 示例将是“workaround_customerA”,“module_x_reorg”等。
答案 5 :(得分:0)
我们为分支机构提供“.X”版本,其中标签有一个数字。
例如,分支将是Foo-1.2.3.X,标签将是Foo-1.2.3.1,Foo-1.2.3.2等。
我们还有一个特殊标签Foo-1.2.3.0,它是在任何更改之前从trunk创建分支时立即生成的。这样我们就可以随时将分支和标签区分到初始状态(因为在几天内,主干可能会有所不同)。这种做法使合并变得更容易一些,它使得更容易理解分支中更改的代码。
答案 6 :(得分:0)
更好:
<projectname>_<Year>_<minor>_00
像:
XYZ_14_01_00