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 我可以在提交subversion时运行脚本吗?_Svn_Hook_Phpdoc - Fatal编程技术网

Svn 我可以在提交subversion时运行脚本吗?

Svn 我可以在提交subversion时运行脚本吗?,svn,hook,phpdoc,Svn,Hook,Phpdoc,我想运行一个脚本,为我的php项目构建文档。它基本上只是使用wget来运行phpdoc。这里有一个关于的相当广泛的教程(回答我自己的问题,我想其他人也会想知道)。是的,乌龟也支持它。你要找的词是“钩子” 对于TortoiseSVN,打开设置和“钩子脚本”。单击“添加…”并选择post_commit_hook(用于在提交完成后运行)。然后添加您正在运行的任何脚本以及脚本的工作路径 我使用了一个批处理文件,名为wget(有一个移植的windows版本,googleit)。要让wget将phpdoc的

我想运行一个脚本,为我的php项目构建文档。它基本上只是使用wget来运行phpdoc。

这里有一个关于的相当广泛的教程(回答我自己的问题,我想其他人也会想知道)。是的,乌龟也支持它。你要找的词是“钩子”

对于TortoiseSVN,打开设置和“钩子脚本”。单击“添加…”并选择post_commit_hook(用于在提交完成后运行)。然后添加您正在运行的任何脚本以及脚本的工作路径

我使用了一个批处理文件,名为wget(有一个移植的windows版本,googleit)。要让wget将phpdoc的日志存储在一个特定路径中,必须指定完整路径,否则日志将存储在您提交的当前文件夹中,因此我的批处理文件如下所示:

SET BUILDLOG=%~dp0%build_log.html
rem %~dp0 returns the full working path *of this script*
SET PHPDOCURL=http://localhost/PHPDocumentor/docbuilder
SET PHPDOCCONFIG=yourconfigfile

wget -O %BUILDLOG% "%PHPDOCURL%/builder.php?setting_useconfig=%PHPDOCCONFIG%&setting_output=HTML%3ASmarty%3Adefault&ConverterSetting=HTML%3ASmarty%3Adefault&setting_title=Generated+Documentation&setting_defaultpackagename=default&setting_defaultcategoryname=default&interface=web&dataform=true"

现在,无论何时提交,都将调用批处理脚本。当然,您也可以将php用作命令行工具,但我没有在phpdoc中对此进行研究-我只是在这一点上选择了阻力最小的路径。

您可能需要查看完整的构建脚本工具。您可以在一个地方管理提交、文档和其他与构建相关的活动。

使用SVN挂钩的替代方法是使用持续集成引擎。就我个人而言,我是一个电视迷。是经典,但有过多的

为什么要使用持续集成引擎?一般来说,它们比简单地使用SVN钩子更强大、功能更丰富、可移植性更强(如果您想切换到使用Mercurial、Git等呢?)