我们有二进制文件(固件),我们想要对其进行版本控制,但这些文件是使用与 Subversion 源代码模型不兼容的工具创建的。例如,这些二进制文件之一是电机控制器的配置文件。作为签入过程的一部分,我可以运行脚本将版本号放在正确的位置,但我不能将 $Revision$ 关键字放在那里。还有其他类型的二进制固件文件。
到目前为止,我看到的唯一解决方案就是使用 svnversion 命令中的信息并添加一个。这并不能保证该数字是 subversion 在签入时将记录的数字,但它确实使它与众不同。
此解决方案的问题是稍后再次查找该版本。(例如,这个文件的版本号为 5164,但我只能在 subversion 中找到 rev 5163 后跟 5198。那么它是哪一个?)
我知道我们应该更改源代码,而不是二进制文件,但我们不能这样做。正如我所说,这些本质上不是编译文件。必须跟踪它们,最好使用嵌入式版本号,但不能构建。