0

我正在编写一个预提交挂钩,以确保对特定分支的提交满足某些标准。为此,我需要找出提交的目标分支。

我正在使用调用 Python 脚本的 Windows 批处理文件。我正在使用一个 SVN Python bindings api,它的文档很糟糕。可以在 Python zip 文件中找到源代码:http: //sourceforge.net/projects/win32svn/files/1.7.8/apache24/。只是让你知道我的意思是哪个api。

我发现了关于这个主题的另一个问题:SVN Pre-commit hook for Avoid commits to specific branches。但是,我并不真正理解答案,也不知道如何使用我可用的工具和 Python 来实现这一点。

4

1 回答 1

1

我有一个已经编写好的 Perl 钩子,它完全符合您的要求。

您可以通过创建控制文件来指定谁可以提交:

[FILE All developers can commit to the trunk]
match=/trunk/**
access=read-write
users=@ALL

[FILE All branches are locked. You do not have access to them]
match=/branches/**
access=read-only
users=@ALL

[FILE Only bob and carol can commit to the 3.2 branch]
match/branches/3.2/**
access=read-write
users=bob,carol

您还可以创建组,并使用这些:

[GROUP branch-committers]
users=bob,carol

[FILE Only the branch-committers can commit to the 3.2 branch]
match/branches/3.2/**
access=read-write
users=@branch-committers

而且,如果您Net::LDAP在您的 Subversion 服务器上安装 Perl 的模块,您可以使用您的 Windows Active Directory 组。

Perl 从Strawberry PerlActive State对 Windows 来说是开源和免费的。

于 2013-06-07T19:16:34.920 回答