【问题标题】:How to display SVN revision on web site dynamically?如何在网站上动态显示 SVN 版本?
【发布时间】:2010-10-13 08:32:07
【问题描述】:

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

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

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

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

我看到了其他类似的问题,但答案是使用 SubWCRev.exe,很遗憾,它不能接受。

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

【问题讨论】:

    标签: asp.net svn revision


    【解决方案1】:

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

    复制:

    【讨论】:

    • 这个 645945/how-to-display-svn-revision-on-web-site-dynamically
    【解决方案2】:

    上一个关于 SO 的问题有一些可能对您有用的讨论:Always Commit the same file with SVN

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

    【讨论】:

      【解决方案3】:

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

      注意

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

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

      另请参阅相关

      【讨论】:

      • 这将显示该特定文件最后更改的版本 (N)。这与上次更改包含网站的存储库部分 (M) 时的修订不同。 N
      • @bendin 正确 - 相应地更新了答案。它仍然可能是他想要的(“在某些网页上显示当前版本”)。
      • 感谢您的回答!但我需要显示整个网站的修订版本,而不是单独的文件。
      • @abatishchev 您可能想相应地澄清您的问题。
      【解决方案4】:

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

      【讨论】:

      【解决方案5】:

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

      【讨论】:

      • SVN 二进制文件 = 在命令行上使用的命令,例如“svn update”等。在命令行中键入“svn help”(不带引号),以获得可以使用的有用命令列表。
      猜你喜欢
      • 1970-01-01
      • 2014-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-15
      • 1970-01-01
      • 2019-03-18
      相关资源
      最近更新 更多