SVN批准合并

SVN批准合并,svn,merge,branch,Svn,Merge,Branch,我们有一个非常标准的开发过程:在一个新的功能请求/错误修复上,我们的开发人员创建了一个自己的SVN分支,在那里开发代码,我们进行了几次代码复查迭代,再次提交代码复查更改,当所有开发人员都认为正确时,我们喜欢将代码合并回SVN主干 现在,来自使用级别以上的请求进入了系统:只有在得到上级批准的情况下,我们才应该合并回主干m@n@亿欧元新台币。他们有效地要求我们阻止“svn merge”,直到某个地方有人按下按钮,在某个地方设置一个标志 这可能吗?如果是,如何执行?如果您对主干的提交仅为合并集,则可以

我们有一个非常标准的开发过程:在一个新的功能请求/错误修复上,我们的开发人员创建了一个自己的SVN分支,在那里开发代码,我们进行了几次代码复查迭代,再次提交代码复查更改,当所有开发人员都认为正确时,我们喜欢将代码合并回SVN主干

现在,来自使用级别以上的请求进入了系统:只有在得到上级批准的情况下,我们才应该合并回主干m@n@亿欧元新台币。他们有效地要求我们阻止“
svn merge
”,直到某个地方有人按下按钮,在某个地方设置一个标志


这可能吗?如果是,如何执行?

如果您对主干的提交仅为合并集,则可以使用预提交挂钩,该挂钩

  • 截取提交到/中继
  • 检查此提交中定义的某个文件或(甚至可能是/trunk)的某些属性(最初的属性必须在分支根中定义,并在WC合并时显示为trunk的属性)
  • 仅当属性已定义且具有预定义值时才允许此提交
如果您的提交是混合的(trunk和merges中的直接开发),您可以稍微扩展上面的钩子并检查两个svn属性,其中必须定义一个(并且只有一个)

类似于“直接提交是”和“合并批准是”。对于开发提交,必须不存在
合并批准的
,而将定义
直接提交
,对于合并集,情况相反(
直接提交
不存在,定义了
合并批准的


我只看到管理方面的一个问题:在创建分支时,所有这些属性都必须在分支中擦除,“签署”分支以批准合并必须以安全的方式进行(普通的propset很快就会被利用)

这种预提交钩子只允许一种类型的提交(直接提交或合并已批准)以在主干中同步,例如直接提交需要等到设置合并已批准时设置属性直接提交。您不觉得这可能会减慢开发活动吗?