如何区分Subversion中的普通提交和合并?

时间:2010-06-22 09:40:51

标签: svn merge hook

我正在研究SVN存储库钩子。 以下是存储库的典型结构:

trunk/
branches/
    branch1/
    branch2/

在预提交挂钩中,我需要检测是否已执行合并(在分支之间,从分支到主干,反之亦然)并检查用户是否有权执行合并。

我发现合并更改了目标目录的'svn:mergeinfo'属性。所以,我必须解析commit changeset,检测dir的属性更改并检查自上次提交以来'svn:mergeinfo'属性是否已更改。

这一切看起来都太复杂了。是否有更方便的方法来检测合并?

1 个答案:

答案 0 :(得分:2)

在我看来,检测svn:mergeinfo属性的变化是区分它的唯一方法。当然,您还必须确保您的提交不是来自未创建mergeinfo的v1.5之前的客户端。