使用资源元数据的二进制文件/可执行文件的文件版本控制

时间:2018-08-15 09:00:47

标签: version-control executable perforce versioning

我有一个大型的存储库,可以构建许多文件,例如dll:s和exe:s。这些文件使用元信息(例如文件版本和公司名称等)附加在文件中,并带有资源信息。

如果我想制作一个更新升级包,其中仅包括已更新的文件。我必须知道是否对内置的二进制文件/可执行文件进行了任何更改。这会导致两个问题。

  1. 像perforce这样的软件中的版本控制可以很好地处理源代码,但是一个项目中的源代码并不一定意味着它不会最终出现在另一个项目dll中。
  2. 当我们在编译时使用版本信息构建二进制文件时,如果文件具有不同的文件版本号,但它们在实际源代码中可以相等,则它们“看起来”就不同。

因此,基本上,您如何在自动化过程中管理二进制文件/可执行文件的文件版本,以便确定已构建的哪些文件与先前版本不同?

一种选择是进行两次构建过程。第一次构建时要与旧版本号进行比较,然后使用新版本号进行构建和使用。有谁有更好的建议或推荐的应用程序?

1 个答案:

答案 0 :(得分:0)

如果可能的话,我的主要建议是改善版本字符串的生成。如果您无法从版本字符串中确定二进制文件的来源,那么即使拥有版本字符串也有什么意义呢?理想情况下,如果源没有更改,则版本字符串也不会更改。

如果您的实际二进制文件不可能具有有用的版本字符串,那么我的建议是在您提交更改时将这些信息(即使用了哪些源文件以及对这些源文件的最新更改)嵌入到更改描述中二进制文件-这样,您至少可以在事实之后查找它,并可以使用该信息来比较二进制文件。