建议用于TAG的svn配置

时间:2012-07-11 14:58:25

标签: svn

我怀疑。我想在SVN中进行配置,但我不知道是否可能。 我的项目每周发布一个新标签,必须进行部署。

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

我想,如果可以创建像我为每个标签更新的符号链接。

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

有可能吗?它会引起一些问题吗? 或者是否有另一种在SVN中拥有文件夹的方法,它始终是我们最新发布的版本? 非常感谢。

2 个答案:

答案 0 :(得分:1)

首先让我告诉你,tagsbranchestrunk都只是概念,而在SVN中,它们都是简单的副本。

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

所以要回到你的需要,你应该:

  • 为您自己创建每个版本的标记,并跟踪哪个版本是另一个系统中的当前版本。如果您的标签命名习惯很简单,脚本可以轻松浏览所有标签,以便检索最后一个。

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

答案 1 :(得分: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