Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过在每次svn提交时运行命令来生成文档_Svn_Documentation - Fatal编程技术网

如何通过在每次svn提交时运行命令来生成文档

如何通过在每次svn提交时运行命令来生成文档,svn,documentation,Svn,Documentation,是否可以让svn在每次提交之前运行一些命令?我在存储库中有一些LaTeX文档,并且希望在存储库中始终以PDF格式提供最新版本的已编译文档。Doxygen docs也是如此 我敢打赌有一些神奇的svn:something属性或类似的东西,但还没有找到任何东西。你可以轻松地做相反的事情。创建一个shell脚本,在构建内容之后运行svn commit。使用所有这些操作都在服务器端控制。查看repository目录,您将发现一个hooks文件夹,其中包含大量示例脚本。您需要预提交挂钩 请记住,如果您在w

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


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

你可以轻松地做相反的事情。创建一个shell脚本,在构建内容之后运行
svn commit

使用所有这些操作都在服务器端控制。查看repository目录,您将发现一个hooks文件夹,其中包含大量示例脚本。您需要预提交挂钩


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

如果您自动生成文档,为什么要将其放在存储库中?您每次都要创建它,所以也没有必要对它进行版本控制(毕竟它是生成的)。我宁愿使用预提交钩子来生成文档并将其放在一个公共位置来访问它,而不是将其存储在存储库中——在我看来,将其存储在存储库中会产生冗余


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

预提交挂钩不应该修改正在提交的内容。当然,我不知道这是我的建议。据我所知,问题在于如何触发文档的自动生成。预提交挂钩不应该修改正在提交的内容。See没有回答OP的问题,OP问“有没有办法在客户机上做这些事情?”(看起来钩子是服务器端的。)这个回答有点冒昧;有充分的理由在提交之前“自动生成”某些内容。这里有一个:执行提交的开发人员可能安装了正确的实用程序来执行自动生成,但部署到系统的可能没有。或者,部署到系统的可能未配置为接收源代码(仅接收编译后的代码)。