0

我有个疑问。我想在SVN中做一个配置,但我不知道是否可以。我有我的项目,每周发布一个新标签,并且必须部署它。

我记得前段时间我看到一个 SVN 存储库,在标签文件夹中有一个名为 LAST_UPDATED 的标签。

我想,是否可以创建一个符号链接,为我创建的每个标签更新。

示例: 当我创建标签/application-1.0.2
时,我的 最后一个标签是/application-1.0.1 。标签LAST_UPDATED将指向这个新版本。

可能吗?会不会引起一些问题?
或者是否有另一种方法可以在 SVN 中创建一个始终是我们所做的最新版本的文件夹?
非常感谢。

4

2 回答 2

1

让我先提醒你tagsbranchestrunk都是概念,在 SVN 中,它们都是简单的副本。

话虽如此,SVN 标签是分支的快照副本,SVN 不会阻止您修改标签的内容。如果需要,您可以使用预提交挂钩来处理此问题。经典使用标签背后的想法是,当您发布软件的第 1 版时,您可以将代码库复制到标签中,并且在发布第 2 版、第 3 版等时您也可以这样做。然后,当您需要它时,您可以检索您的代码在版本 X 中的样子。

因此,要回到您的需求,您应该:

  • 像您已经做的那样为每个版本创建标签,并跟踪另一个系统中的当前版本。如果您的标签命名习惯足够简单,脚本可以轻松浏览所有标签以检索最后一个。

  • 或使用stable您始终拥有当前版本代码的分支。然后,您每天提交到另一个分支(例如,可以是trunk每个新功能的特定分支或特殊分支)并将您已验证的更改合并到该stable分支。发布版本时,可以从此分支创建标签。

于 2012-07-11T21:30:24.077 回答
0

您可以这样做,例如:

svn cp trunk tags/application-1.0.2
svn delete tags/LAST_UPDATED
svn cp tags/application-1.0.2 tags/LAST_UPDATED
svn ci -m"New production tag"

当然,第一次你不需要删除tags/LAST_UPDATED

于 2012-07-11T21:36:59.060 回答