如何在文件中显示最新版本?

时间:2008-09-20 10:29:02

标签: svn versioning

我想知道在推送应用的实时新版本时如何处理显示版本号?

您可以在文件中使用$Rev$来获取最新版本,但只能在更新文件后使用。{/ p>

每次更改存储库/目录中的任何文件时,如果我想更新一个文件中的字符串该怎么办?

有办法吗?

6 个答案:

答案 0 :(得分:8)

执行此操作的最佳方法是使用版本的构建脚本,使用svnversionsvn info确定修订号,并将其插入到文件中。拥有一个脚本总是有帮助的:

  1. 将源的干净副本签出到空目录
  2. 使用svnversion或类似的东西来计算内部版本号
  3. 将源代码编译成产品
  4. 创建产品的存档(zip或tarball或其他)
  5. 清理:删除除存档之外的所有内容
  6. 然后,您可以通过一个步骤创建具有易于识别版本的版本。它还可以帮助您避免从您自己的工作副本中为某人提供构建,这些副本可能具有从未在源代码管理中检查过的更改。

答案 1 :(得分:3)

TortoiseSVN中有一个名为 SubWCRev.exe 的简单工具。它需要从路径进行修订,并从您自己的模板创建文件。您可以将它用作预建命令。

答案 2 :(得分:2)

您是否尝试使用挂钩?它们仅在服务器端工作,但可能会起作用。否则,如果关键字不适合你,我只会调用脚本来更新修订版。

答案 3 :(得分:2)

在构建/部署版本时自动更新文件。

答案 4 :(得分:1)

在我有理由这样做的一个项目中,我作弊:它在启动时调用svnversion

答案 5 :(得分:1)

正如alexander所述,一种方法是在构建过程中更新修订版。

执行此操作的一种方法是使用buildbot等工具从版本控制签入触发的自动构建过程中获取发布版本。

方案可能是使用subversion存储库上的post-hook脚本触发自动构建。 这会导致您的buildbot更新到最近签入的修订版。 您的构建脚本(例如Makefile)将使用'svnversion'(或'svn info'和grep)来读取存储库修订版,并在构建之前将其写入头文件。

成功构建后,自动将此文件重新检入存储库,并附上有关发布版本的合适评论。