Asp.net 如何在网站上动态显示SVN版本?

Asp.net 如何在网站上动态显示SVN版本?,asp.net,svn,revision,Asp.net,Svn,Revision,我的网站是SVN repo的checkouted版本。我的意思是。svn文件夹放在web服务器上。我不使用网络发布 我想在页脚中显示当前的项目版本(整个网站)。我该怎么做 如果我使用web发布,我可以在构建/发布时确定修订版本,并将其作为静态html编写 那么,如何动态地获取修订?直接读取.svn文件?有更好的方法吗 我看到了其他类似的问题,但答案是使用SubWCRev.exe,不幸的是,这是不可接受的 Edit:Tarn给出了关于提交时SVN钩子的有趣想法。还有其他想法吗?我唯一能想到的就是使

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

我想在页脚中显示当前的项目版本(整个网站)。我该怎么做

如果我使用web发布,我可以在构建/发布时确定修订版本,并将其作为静态html编写

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

我看到了其他类似的问题,但答案是使用SubWCRev.exe,不幸的是,这是不可接受的


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

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

您可以为SVN编写钩子。作为签出过程的一部分,您可以编写一个钩子,用当前版本更新文件。然后,您可以读取、缓存和显示站点上的版本号

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

注意

$Rev$展开以显示最后一个 文件更改的版本, 不是上次修订的版本 更新

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


另外,请参阅相关。

如果要显示整个/存储库或分支的最新修订号,关键字替换将没有帮助,我认为更好的解决方案是使用生成管理/连续集成软件,如或与良好的生成脚本一起使用

副本:


上一个问题有一些可能对您有用的讨论:


我总是通过运行一个脚本来完成这项工作,该脚本将使用sed将注释替换为$Rev$文件中的当前时间戳。这样,文件内容就会改变,Subversion就会提交它。有些手动,但您可以先编写一个脚本来执行此操作,然后执行实际的
svn commit
命令。

这将显示该特定文件上次更改的版本(N)。这与包含网站的存储库部分上次更改时的版本不同(M)。N@bendin right-相应地更新了答案。它可能仍然是他想要的(“在某个网页上显示当前修订版”)。感谢您的回答!但我需要显示整个网站修订版,而不是单独的文件。@abatishchev您可能需要相应地澄清您的问题。这是645945/如何在网站上显示svn修订版供idea使用!你能提供一些关于编写SVN钩子的更多信息吗?Phil Haack写了一篇关于在.NET中使用CaptainHook SVN binaries=在命令行上使用的命令,如“SVN update”和类似命令来编写SVN钩子的博客。在命令行中键入“svn help”(无引号),以获取可以使用的命令的有用列表。