我有一个在几个不同的Linux/Unix/AIX主机上构建的C/C++项目,因此能够引用Build#非常有帮助。我已经有了代码来执行经典的$ Rev $ SVN Keyword事件,并在需要时将其打印出来,但是只要我修改包含它的1个文件(这恰好是最不经常编辑的文件之一)在整个存储库中)。在导出的C文件中嵌入SVN修订号#
我通常'svn export'我的仓库,并在将它移动到另一个主机之前创建一个tarball,所以svnversion将无法正常工作(即使已安装SVN的少数机器上也只会返回'已导出')。我想知道是否有更好的方法来获得这个数字,而不是建立一个'svn export'脚本,它会以某种方式运行svnversion并将其嵌入到我的源代码中。
我使用CMake作为我的构建系统。
我在Linux(RHEL5)箱做开发,但部署是由SUSE,RHEL5,RHEL6,Debian,AIX,Solaris等盒子完成的。我希望代码中的版本库版本能够嵌入Debug日志等,以便用户在报告错误时可以看到它。 – Yeraze
''svnversion'在WC中,一些'svnlook'子命令,如果存储库在本地文件系统中,'svn info' + grep在WC或导出目录 –