在我的工作地点,我们已经开始引入正确的SVN钩子,“正确”意味着“进行大量的策略检查”。目前,我们的策略包括Perl :: Critic,启用了Perl :: Tidy检查。但是,特别是后者需要花费大量时间才能提交几个到多个文件,SVN在提交后挂钩时才会返回。
有没有什么办法可以在不牺牲策略检查的情况下在post-commit hook中节省一些时间?
答案 0 :(得分:3)
如果您只需要一些报告(如错误列表),那么您可以使用Continious Intergation系统运行一些提交后操作。此系统允许在源控制系统发生更改后执行任何操作。以下是示例场景:
有许多良好的Continious Intergation系统。我喜欢Hudson。
答案 1 :(得分:2)
这是另一个基于分支的开发可能有用的地方。基本上,您为每个要执行的任务创建一个新分支。分支免于质量检查,但合并到trunk
或其他任何不合格。因此,您的日常提交速度很快,合并起来很慢。你可以通过组合机器人为你完成这项任务来减轻痛苦。
答案 2 :(得分:1)
如果你想让提交失败,如果钩子说“不”,则提交必须等待钩子完成检查。
除了加快检查速度外,我看不到你能做什么。 (除了旧的口头禅:经常提交。然后你不会一次提交这么多文件。)