6

我的网站是 SVN repo 的签出版本。我的意思是 .svn 文件夹放在网络服务器上。我不使用网络发布。

我想在页脚中显示当前的项目修订(整个网站)。我怎样才能做到这一点?

如果我使用网络发布,我可以确定构建/发布的修订并将其写为静态 html。

那么如何动态获得修订?直接读取 .svn 文件?有没有更好的方法?

我看到了其他这样的问题,但答案是使用 SubWCRev.exe,不幸的是它不能接受。

编辑: Tarn在提交时给出了关于 SVN 钩子的有趣想法。还有其他想法吗?

4

5 回答 5

8

使用关键字替换。启用替换要显示修订信息的文件,并在$Revision: 144 $此处放置关键字,例如 。

注意

$Rev$ 展开以显示文件更改的最后一个修订版,而不是它更新到的最后一个修订版

(见上面的链接)。如果要显示全局存储库修订号,最好使用svnversion

另请参阅相关

于 2009-03-14T14:06:46.357 回答
2

您可以为 SVN 编写挂钩。作为结帐过程的一部分,您可以编写一个挂钩来使用当前构建更新文件。然后您可以在您的站点上读取、缓存和显示该版本号。

于 2009-03-14T14:05:05.207 回答
1

如果要显示整个/存储库或分支的最新修订号,关键字替换将无济于事,我认为更好的解决方案是使用构建管理/持续集成软件,如CruiseControl.NETTeamCity具有良好的构建脚本.

副本:

于 2009-03-14T15:19:47.837 回答
1

上一个关于 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.

于 2009-03-14T16:02:35.767 回答
0

我唯一能想到的是使用 svn CLI 二进制文件并从页面调用它们。这样您就可以去掉其余部分并获取修订号。不过说实话,这是一个有点丑陋的解决方案。

于 2009-03-14T14:00:57.790 回答