在我工作的地方,我们已经开始引入适当的 SVN 钩子,“适当”的意思是“进行大量的策略检查”。目前,我们的策略包括启用 Perl::Tidy 检查的 Perl::Critic。然而,尤其是后者需要花费大量时间来提交涉及几个到多个文件的提交,并且 SVN 在提交后挂钩完成之前不会返回。
有什么方法可以在不牺牲策略检查的情况下在提交后挂钩中节省一些时间?
在我工作的地方,我们已经开始引入适当的 SVN 钩子,“适当”的意思是“进行大量的策略检查”。目前,我们的策略包括启用 Perl::Tidy 检查的 Perl::Critic。然而,尤其是后者需要花费大量时间来提交涉及几个到多个文件的提交,并且 SVN 在提交后挂钩完成之前不会返回。
有什么方法可以在不牺牲策略检查的情况下在提交后挂钩中节省一些时间?
如果您只需要一些报告(如错误列表),那么您可以使用Continious Intergation系统运行一些提交后操作。该系统允许在更改源控制系统后执行任何操作。这是示例场景:
有很多好的Continious Intergation 系统。我喜欢哈德森。
这是另一个可以使用基于分支的开发的地方。本质上,您为要执行的每个任务创建一个新分支。分支免于质量检查,但合并trunk
或其他任何东西都不是。因此,您的日常提交很快,而合并却很慢。你可以通过组建一个机器人来为你完成这项任务,从而减轻这种痛苦。
如果您希望在钩子说“否”时提交失败,则提交必须等待钩子完成检查。
除了加快检查速度,我看不出你能做什么。(除了古老的口头禅:经常提交。那么你就不会一次提交这么多文件。)