2011-06-08 123 views
1

我发布工程师,我只是换了新公司。因为我的角色需要 在新公司中设置构建过程。我们在这里使用svn进行版本控制。创建标签/日用标签构建

在我以前的经验,它一直是一个惯例,每一个版本将是 伴随着标签。在这里定义新进程的同时,我试图通过 来验证每个构建是否真的需要这个标记。

这里有一些优点和缺点,我能想到

优点的:

  • 倘使我们要比较两个版本
  • 没有单独的需要标记不同的里程碑版本。如果在构建时没有自动创建,那么这将是手动过程。
  • 这使其更容易恢复到“已知好身材”当事情可怕的错误,或者当一些怪异不可能找到的错误被发现。

缺点:

  • 在长期运行tags目录 变得混乱,并创建 性能问题,如果 标签的数量是在一个文件夹中的高。
  • 在 库注意到unnessary空间操作(虽然它是可以忽略的 在SVN的情况下)

是否有任何其他的优点或缺点除上述之外的其它?

回答

2

其实,如果你是在谈论SVN,还有的TAGS没有这样的概念。这些仅仅是分支机构的另一个逻辑副本。即使你创建了它们,旧的可以随时删除。

Subversion中的viz-a-viz概念是Revision
当你从SVN,每个树(干线/支线)建设将具有与其相关的唯一版本号,并用代码的特定分支或主干,整个的版本号的任何地方每个连续入住手续树会增加一个。 因此,对于一个特定的版本号的特定分支/主干,将永远是相同的

我建议你构建的版本号追加到构建的名称。通过这种方式,您可以知道特定分支的构建版本。如果需要进行比较,则只需比较该分支的当前版本的修订版与先前版本的修订版。简单!

因此,实际上不需要标签。

+0

如果我是正确的SVN的复制操作仅仅是(直到新的分支没有被修改)与特定版本的标签联系起来。在这种情况下,为我的感觉打造标签并不会是一个代价高昂的操作。不过,我同意你的观点。 将版本号与版本相关联是一个很好的建议,我会看到在我的环境中它是如何可行的。 – 2011-06-08 09:57:44

+1

是的,正如我所说的......将标签与特定版本相关联不会花费您的时间,直到该标签/分支被修改。但是,从逻辑上讲,这不是最好的/理想的方法。另外,如果您仍然决定继续使用标签,我建议您使用SVN预先提交挂钩来防止标签修改 – Arpit 2011-06-08 10:13:20