我的公司即将转向 Subversion,最初的计划是将大量存档材料以及我们当前的工作放入存储库中。当时的想法是,没有人会想要检出存档,而是通过 Web 浏览器浏览它。
然而,我们担心有人可能会意外地签出整个档案(不能相信我们所有的用户)。由于我们的服务器托管协议对带宽的限制相对较低,因此签出整个档案可能会超出限制并花费我们很多钱。
有没有办法通过 Web 浏览器提供对存档的只读访问权限,但阻止任何人查看它?我查看了可用的存储库挂钩,但没有找到任何有用的东西。还有其他关于如何实现目标的想法吗?
答案1
你退房了吗查看VC? 它可以为您的仓库提供格式良好的只读视图,并且可配置性很高。
答案2
一种方法是通过基于路径的授权。这样,您就可以将档案设置为仅供团队中的人员查看。以下是来自颠覆红皮书关于基于路径的授权:
http://svnbook.red-bean.com/nightly/en/svn.serverconfig.pathbasedauthz.html
您将能够使用所谓的 authz 文件来设置权限。只需确保使用不同的用户进行测试即可。尝试不同的设置。一旦授权设置符合您的喜好,您就可以打开防火墙端口到 WAN。
Subversion 有 2 个服务器,svnserve(svn:// 协议)和 Apache-WebDAV(http:// 协议)。我建议你使用可视化SVN,如果您选择 HTTP 协议。我有一个处理 svnserve 服务器的产品。它叫做PainlessSVN。
有几个地方您可能能够获得帮助。
答案3
在 subversion 贡献中有一个 mod_dontdothat 可能会执行您要求的操作。它是一个可选的 apache 模块,允许拒绝在存储库根目录上签出等操作。
答案4
为什么不运行自己的“svn export”并让 Apache 提供一份副本呢?这样,他们就无法进行签出,因为 Subversion 完全不在考虑范围内。