如何显示文件中的最新修订?

时间:2020-03-06 14:28:53  来源:igfitidea点击:

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

我们可以在文件中使用$ Rev $来获取最新修订,但只有在更新文件后才能使用。

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

有办法吗?

解决方案

我们是否尝试使用钩子?它们仅在服务器端工作,但可以解决问题。否则,如果关键字不适合我们,我将只调用脚本来更新修订版。

在构建/部署发行版的过程中自动更新文件。

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

最好的方法是为发布使用构建脚本,该脚本将使用svnversion或者svn info确定版本号并将其插入文件中。具有以下脚本总是有帮助的:

  • 将源的干净副本检出到空目录中
  • 使用svnversion或者类似的东西来计算内部版本号
  • 将源代码编译成产品
  • 创建产品的归档文件(zip或者tarball或者其他内容)
  • 清理:删除存档以外的所有内容

然后,我们只需执行一个步骤即可创建具有易于识别版本的发行版。它还可以避免从我们自己的工作副本中为某人提供构建版本,该工作副本可能包含从未检入到源代码管理中的更改。

正如亚历山大所说,一种方法是在构建过程中更新修订。

一种方法是使用诸如buildbot之类的工具从版本控制签入触发的自动构建过程中获取发行版本。

一种方案可能是使用Subversion存储库上的挂接后脚本触发自动构建。
这会导致buildbot更新到最近签入的修订版。
构建脚本(例如Makefile)将使用" svnversion"(或者" svn info"和grep)读取存储库修订并将其写入到头文件中,然后再进行构建。

成功构建后,将自动将该文件检入存储库,并附带有关发行版本的适当注释。

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