避免在拼写错误上创建存储库

时间:2014-02-20 10:33:13

标签: git gitolite

我在我的公司设置了一个gitolite服务器:工作得很好,但我用来管理它的大部分时间都在于删除错误创建的存储库。
实际上,用户可以使用 wild repo 的概念访问项目根目录,在该目录中他们可以为其项目创建存储库:

  

您无需为创建此类回购做任何特别的事情;只是克隆它就像它已经存在一样,它将会存在。

http://www.linuxforu.com/2011/01/gitolite-specify-complex-access-controls-git-server/

我更希望克隆和创建是否映射到两个不同的命令,以避免这种无意的回购创建 是否有最佳实践来实现这样的工作流程?

2 个答案:

答案 0 :(得分:2)

  

我更喜欢克隆和创建是否映射到两个不同的命令

当您考虑克隆回购的唯一方法是首先存在该回购时,这似乎不可能。
这意味着用户将克隆由Gitolite在后台创建的仓库(因为wild repo directive

但是,考虑到 Gitolite commands Stefan Näwe详细信息in the comments),管理员应该很容易删除回购:

#  move it into the trashcan (can be restored) 
ssh git@host D trash repo

# Or, to really delete it
ssh git@host D unlock repo
ssh git@host D rm repo

如果有什么可以设置一些cron作业来监视每个存储库内容,并且看到其中的特定文件(例如' TO_DELETE')将删除回购。
您可以添加其他条件,以防止删除合法的回购(即具有大量提交和最近活动的回购)。 这样,所有用户都必须删除他/她刚创建的回购将添加' TO_DELETE'文件,提交和推送。

答案 1 :(得分:1)

感谢Stefan Näwe提及让我走上正确轨道的no-auto-creat首页 检查gitolite changelog后,似乎自{v3.3}以来create命令确实存在(但需要明确激活)。

升级我的gitolite安装并结合这两个功能似乎是解决方案。