当我们使用svnadmin create命令创建存储库时,我们是否可以对 reponame 的值强制执行命名约定。例如,我希望所有存储库名称都具有创建项目的部门之类的信息。即。所有存储库名称都应遵循约定。 的 'division_name' _ 'PROJECT_NAME' _repo
答案 0 :(得分:1)
由于只能使用svnadmin
命令创建存储库,因此不能使用挂钩。
通常情况下,任何有权访问SVN服务器svnadmin
的人都应该被信任,不要搞得太乱,因为他们可以做的不仅仅是创建一个名字不好的存储库!< / p>
我建议有一个清单或用于创建存储库的东西(可能包括svnadmin create
的包装器脚本,并检查名称),如果这是一个常见的操作,您要确保正确完成。
答案 1 :(得分:0)
一般而言,存储库只不过是一个目录。此外,除非有一种以编程方式获取分区名称的方法,否则我无法弄清楚Subversion如何知道给定名称是否有效。
显而易见的解决方案是组织您的存储库,使其无法直接创建(例如,删除包含它们的目录的访问权限),并提供特定工具作为创建新存储库的唯一方法(例如,简单的Web前端)通过要求特定细节的表单。您甚至可以在下拉列表中显示分部!当然,这意味着禁用直接文件访问,并且所有客户端操作都是通过HTTP或SVN协议进行的。