维护并自动更新包含当前版本的文件

时间:2014-05-12 06:12:36

标签: svn

我目前正在编写一个脚本来报告我们每个项目正在使用的基础框架的哪个版本。我试图通过在我们的框架主干中创建一个version.txt文件来实现这一点,该文件在每次提交后会自动使用当前版本进行更新。这样,每个拥有此基本框架副本的项目都知道它正在使用的修订版。

我遇到的问题是每次提交后都会让version.txt更新修订版。

我尝试过使用$ Revision $关键字替换,但只有在自身修改了version.txt时才会更新(这会失败)。

我已经考虑过使用预提交挂钩对version.txt进行更改,以便将其添加到要提交的文件列表中,但不确定如何在预先提交时将文件添加到提交列表中-commit。

有什么更好的方法可以解决这个问题吗?

由于

1 个答案:

答案 0 :(得分:0)

  1. 您不能也不能在预提交挂钩中更改事务内容
  2. 你仍然可以在version.txt中使用关键字并在post-commit钩子中修改+ commit(钩子将获得相当奇特的逻辑,但它会起作用),因为“中毒”存储库的成本提高了2倍的提交量 (1个数据+ 1个控制)
  3. 你仍然可以在version.txt中使用关键字并使用单一提交,如果在提交文件需要每次提交之前,并且在changelist中提供version.txt

    • 如果您在开发阶段将项目版本化为Framework(以及与外部链接的框架),您可以随时在项目的WC内嵌套WC框架中检查svn:external属性或svn info
    • 如果你想知道已部署项目中的框架版本,你可以在deploy-process内部创建带有可部署树内所需内容的version.txt,阅读SubWCRev(TortoiseSVN的一部分)或它的Linux等效SVNRev