【问题标题】:How to generate documentation by running a command with every svn commit如何通过在每次 svn 提交时运行命令来生成文档
【发布时间】:2009-04-26 15:08:15
【问题描述】:

是否可以让 svn 在每次提交之前运行一些命令?我在存储库中有一些 LaTeX 文档,并希望始终在存储库中以 PDF 格式提供最新版本的已编译文档。 Doxygen 文档也是如此。

我敢打赌有一些神奇的 svn:something 属性或类似的东西,但还没有找到任何东西。

【问题讨论】:

    标签: svn documentation


    【解决方案1】:

    您可以轻松地做相反的事情。在构建东西之后创建一个运行svn commit 的shell 脚本。

    【讨论】:

      【解决方案2】:

      如果您自动生成文档,为什么还要将它放在存储库中?您每次都创建它,因此也没有必要对其进行版本控制(毕竟它是生成的)。我宁愿使用预提交钩子来生成文档并将其放到一个公共的地方来访问它,而不是将它存储在存储库中——将它存储在存储库中会产生冗余,从我的角度来看应该避免这种冗余。

      (我同意预提交挂钩不应该修改正在提交的内容:)

      【讨论】:

      • 这个回复有点冒昧;在提交之前有充分的理由“自动生成”某些东西。这是一个:进行提交的开发人员可能安装了正确的实用程序来执行自动生成,但部署到的系统可能没有。或者部署的系统可能没有配置为接收源代码(只是编译后的代码)。
      【解决方案3】:

      所有这些操作都在服务器端进行控制。查看存储库目录,您会发现一个带有大量示例脚本的 hooks 文件夹。你想要预提交钩子。

      请记住,如果您在 Windows 上运行服务器,这些脚本在没有环境的情况下执行,因此不要假设设置了路径并使用绝对路径。

      【讨论】:

      • 预提交钩子应该修改正在提交的内容。见svnbook.red-bean.com/nightly/en/…
      • 不回答 OP,他问“有没有办法在 client 上做这些事情?” (看起来钩子是服务器端的。)
      【解决方案4】:

      【讨论】:

      • 预提交钩子应该修改正在提交的内容。见svnbook.red-bean.com/nightly/en/…
      • 当然,我不知道这是我的建议。据我了解,问题是关于如何触发文档的自动生成。
      猜你喜欢
      • 2011-02-03
      • 1970-01-01
      • 1970-01-01
      • 2018-01-02
      • 2012-12-01
      • 2019-02-12
      • 2022-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多