我想知道在推送应用程序的实时新版本时如何处理显示版本号?
您可以$Rev$
在文件中使用以获取最新版本,但只能在更新文件之后使用。
如果每次更改存储库/目录中的任何文件时都想更新一个文件中的字符串怎么办?
有办法吗?
我想知道在推送应用程序的实时新版本时如何处理显示版本号?
您可以$Rev$
在文件中使用以获取最新版本,但只能在更新文件之后使用。
如果每次更改存储库/目录中的任何文件时都想更新一个文件中的字符串怎么办?
有办法吗?
最好的方法是为版本创建一个构建脚本,该脚本将使用svnversion
or确定修订号svn info
并将其插入文件中。拥有一个脚本总是有帮助的:
svnversion
或类似的东西来计算内部版本号然后,您可以通过一个步骤创建具有易于识别的版本的版本。它还可以帮助您避免从您自己的工作副本中向他人提供构建,其中可能包含从未签入源代码控制的更改。
TortoiseSVN 中有一个名为SubWCRev.exe的简单工具。它从路径中进行修订并从您自己的模板创建文件。您可以将其用作预构建命令。
你试过用钩子吗?它们仅在服务器端工作,但可能会奏效。否则,如果关键字不适合您,我只会调用脚本更新修订。
作为构建/部署版本的一部分自动更新文件。
在我有理由这样做的一个项目中,我作弊了:它svnversion
在启动时会调用自己。
正如亚历山大所说,一种方法是将修订作为构建过程的一部分进行更新。
执行此操作的一种方法是使用buildbot等工具从版本控制签入触发的自动构建过程中获取发布构建。
一个场景可能是使用 subversion 存储库上的 post-hook 脚本触发自动构建。这会导致您的 buildbot 更新到最近签入的修订版。您的构建脚本(例如 Makefile)将使用“svnversion”(或“svn info”和 grep)来读取存储库修订版并将其写入头文件,然后再进行构建。
成功构建后,自动将此文件检入到存储库中,并带有有关发布版本的适当注释。