我的网站是 SVN repo 的签出版本。我的意思是 .svn 文件夹放在网络服务器上。我不使用网络发布。
我想在页脚中显示当前的项目修订(整个网站)。我怎样才能做到这一点?
如果我使用网络发布,我可以确定构建/发布的修订并将其写为静态 html。
那么如何动态获得修订?直接读取 .svn 文件?有没有更好的方法?
我看到了其他这样的问题,但答案是使用 SubWCRev.exe,不幸的是它不能接受。
编辑: Tarn在提交时给出了关于 SVN 钩子的有趣想法。还有其他想法吗?
使用关键字替换。启用替换要显示修订信息的文件,并在$Revision: 144 $
此处放置关键字,例如 。
注意
$Rev$ 展开以显示文件更改的最后一个修订版,而不是它更新到的最后一个修订版
(见上面的链接)。如果要显示全局存储库修订号,最好使用svnversion。
另请参阅相关。
您可以为 SVN 编写挂钩。作为结帐过程的一部分,您可以编写一个挂钩来使用当前构建更新文件。然后您可以在您的站点上读取、缓存和显示该版本号。
如果要显示整个/存储库或分支的最新修订号,关键字替换将无济于事,我认为更好的解决方案是使用构建管理/持续集成软件,如CruiseControl.NET或TeamCity具有良好的构建脚本.
副本:
上一个关于 SO 的问题有一些可能对您有用的讨论:始终使用 SVN 提交相同的文件。
I've always done it by running a script that would use sed to replace a comment with the current timestamp in my $Rev$ file. That way, the file contents would change and Subversion would commit it. Somewhat manual, but you could write a script to first do that, and then do the actual svn commit
command.
我唯一能想到的是使用 svn CLI 二进制文件并从页面调用它们。这样您就可以去掉其余部分并获取修订号。不过说实话,这是一个有点丑陋的解决方案。