我们有以下工具: Subversion(版本1.5.9) Polarion(版本3.2.2) Polarion基于Subversion,因此在每个更改任何内容的操作(通常都是这种情况)上,Polarion将使用Subversion提交来更改任何内容.所有内容当前都
> Subversion(版本1.5.9)
> Polarion(版本3.2.2)
Polarion基于Subversion,因此在每个更改任何内容的操作(通常都是这种情况)上,Polarion将使用Subversion提交来更改任何内容.所有内容当前都存储在一个且只有一个存储库中,因此每个用户的每次提交(在同一存储库中大约100-200)都将触发预提交挂钩.
那么提供预提交挂钩的最佳策略是什么呢?
>仅触发某些项目,但不是所有项目
>尽可能快地运行,因为每个预提交挂钩都会阻止所有其他提交.
我们已经尝试用Java实现预提交钩子(使用SVNKit),但这将在每次提交Java VM时开始.那么任何想法如何很好地实现呢?
如果Java正在减慢速度,但Java仅在一小部分时间内使用,那么我会在轻量级的东西中编写钩子.即在Windows上,使用.bat文件.然后,对于需要它的项目(或文件或用户),从轻量级钩子调用更昂贵的Java钩子.这样,只有在需要时才会减慢提交速度.