如何在subversion中创建存储库期间强制执行命名约定



当我们使用svnadmin-create命令创建存储库时,我们是否可以对reponame的值强制执行命名约定。例如,我希望所有的存储库名称都有类似于创建项目的部门的信息。即所有存储库名称都应遵循约定。'分区名称'_'项目名称'_repo

由于创建存储库只能通过svnadmin命令完成,因此不能将其挂起。

一般来说,任何有权访问SVN服务器上svnadmin的人都应该被信任,不会把事情搞得一团糟,因为他们可能会比简单地创建一个有坏名字的存储库造成更大的伤害!

如果这是一个需要确保正确完成的常见操作,我建议有一个清单或创建存储库的东西(可能包括svnadmin create的包装脚本,并在名称上进行检查)。

一般来说,存储库只不过是一个目录。此外,除非有一种方法可以通过编程方式获得分区名称,否则我不知道Subversion如何可能知道给定的名称是否有效。

显而易见的解决方案是以一种无法直接创建存储库的方式组织存储库(例如,删除包含存储库的目录的访问权限),并提供一个特定的工具作为通过要求特定细节的表格创建新的repo(例如,一个简单的web前端)的唯一方法。你甚至可以在下拉列表中显示部门!当然,这意味着直接文件访问被禁用,所有客户端操作都是通过HTTP或SVN协议进行的。

最新更新