我的网站是 SVN 仓库的检出版本。我的意思是 .svn 文件夹放在了 Web 服务器上,我没有使用 Web 发布。我想在页脚中显示当前项目版本号(整个网站)。我该如何做到这一点?如果我使用 Web 发布,我可以在构建/发布时确定版本,并将其编写为静态 HTML。那么如何动态获取版本?直接读取 .svn 文件?还有更好的方法吗?我看到其他类似的问题,但回答都是使用 SubWCRev.exe,这是不可接受的。编辑:Tarn 提出了关于提交时的 SVN 钩子的有趣想法。还有其他的想法吗?
使用关键词替换。启用文件的替换,以显示修订信息,并在其中放置关键词,例如$Revision: 144 $
。
请注意:
$Rev$会扩展显示文件更改的最后一个修订版本,而不是更新到的最后一个修订版本(请参见上面的链接)。如果要显示全局存储库修订号,最好使用svnversion。
此外,请参见相关内容。
你可以为SVN编写钩子。你可以编写一个钩子,在检出过程中更新文件并将当前构建作为其中一部分。然后,你可以读取、缓存并在你的网站上显示该构建号码。
这个SO上的先前问题有一些讨论,可能对你有用:始终使用SVN提交相同的文件。
我总是通过运行一个脚本来完成,该脚本将在我的$Rev$文件中替换注释为当前时间戳。这样,文件内容会更改,Subversion会提交它。有点手动,但你可以编写一个脚本来首先执行此操作,然后执行实际的svn commit
命令。