从 TortoiseSVN 管理多个 svn 存储库

从 TortoiseSVN 管理多个 svn 存储库

我在 Debian 服务器上创建了两个存储库。一个是 svn repo,开发,将包含公司工程师使用的文件和代码。另一个 repo,文档,将包含管理/销售人员使用的销售文件、报价等。

鉴于这两个存储库的使用要求不同,并且使用它们的用户的计算机技能水平也不同,我希望能够对每个存储库应用不同的管理风格。

一个这样的例子,也是我当前的问题是,我想要文档repo 启用自动属性,以便svn:needs-lock为所有文件添加属性。这是销售和管理层的要求,因为他们还不太确定如何使用 SVN(因此他们希望坚持使用锁定-修改-解锁版本控制模型)。

然而我不想把这些限制应用到开发存储库。

因此,通过 TortoiseSVN 客户端,我可以修改 Subversion 配置文件以启用自动属性等。

但是我该如何管理位于同一台服务器上的存储库并使用相同的客户端来解决这个 svn:needs-lock 问题?

有没有更好的方法来实现这个拥有两个仓库的概念需要有不同程度的限制。

注意:我们是一家小公司,没有 IT 管理员。工程师需要将 IT 管理作为正常工作的附带任务。因此解决方案需要足够简单,以免需要不断维护。

答案1

我想澄清一下并重新表述一下你的问题。你的工程师使用开发想要使用的存储库复制-修改-合并版本控制模型(更适合非二进制文本内容,例如源代码),非技术用户将坚持使用锁定-修改-解锁(更适合二进制文件,例如 PSD、DOCX、XSL 等...)带有 repo 的模型文档

  • 复制-修改-合并是 Apache Subversion 的默认版本控制模型,您无需对开发回购和/或您的技术客户。

  • 为了强制锁定-修改-解锁模型文档存储库您可以执行以下维护任务:

    1. 调整客户端的 SVN“配置”以自动将svn:needs-lock属性应用于所有新添加的文件。此任务可以通过在客户端的 Subversion 配置中启用自动属性enable-auto-props=yes并在配置区域中指定自动属性模式来完成[auto-props]。请参阅SVNBook 了解有关运行时配置区域的详细信息(您可以使用 AD 安全策略自动化该过程)顺便说一句,

    2. svn:needs-lock在存储库根节点上递归设置属性,以将其应用于您当前拥有的所有项目文档存储库,

    3. 为以下对象创建 Subversion 钩子脚本文档repo 将检查svn:needs-lock二进制文件上是否设置了该属性,如果不存在该属性,则拒绝提交。以下文章应该会有所帮助:“自动锁定-修改-解锁”

相关内容