【问题标题】:Subversion with contract development teamSubversion 与合约开发团队
【发布时间】:2011-08-06 12:16:24
【问题描述】:

关于向第 3 方开发团队提供 subversion 访问权限的最佳做法的任何建议。我们已经聘请了团队进行项目的小迭代,我不想让他们访问整个存储库。我们使用 BeanStalk 来托管我们的颠覆,因此不可能将访问控制细化到一个分支(我不知道 beantalk 是这里的限制还是一般的 svn)。

我没有在我的主存储库中创建一个分支,而是创建了一个新的存储库,并且只允许他们使用他们需要的最新代码快照来访问它。我想无论哪种方式,我都必须手动合并他们的更改。

你会怎么做?

【问题讨论】:

    标签: svn


    【解决方案1】:

    坦率地说,我对 SVN 服务器设置了解不多。我们的 SVN 服务器——“Collabnet”是名称的一部分,据我所知——允许我们将用户分组,然后以任何粒度级别为每个组分配权限。

    鉴于此,我们有一些离岸开发人员,我们最初在“分支”下提供了他们自己的目录,让他们在那里进行提交,然后将它们合并到主干中。

    但事实证明这会产生不必要的合并问题,因此我们现在切换到只让它们提交到主干。我们可以在日志中看到提交时的用户 ID,以便我们知道谁提交了什么。

    总的来说,我的理念是,如果您不信任您的开发人员正在编写的代码(无论他们是内部人员、承包商还是其他人),您应该找不同的开发人员,而不是寻找放慢速度的方法他们糟糕的代码带来的危害。迟早你将不得不合并他们的代码,那么延迟这个有什么好处呢?

    【讨论】:

      【解决方案2】:

      我想我已经转储了一个现有的存储库,然后将相关的部分加载到一个新的存储库中,然后将对该新存储库的访问权限授予第三方团队,这样他们就有了一个现有的代码库来开始工作。我竭尽全力的最终原因是,在这种情况下,我能够生成或多或少合理的差异,因此手动合并不会是一项艰巨的任务。

      【讨论】:

        【解决方案3】:

        我可能会在 Google Code 上启动一个项目并做同样的事情,然后在完成后合并更改。

        或者,如果您的软件是组件化的,请为每个独立组件创建一个单独的项目,然后您就可以为他们提供完成工作所需的一切。

        【讨论】:

          【解决方案4】:

          有一个不错的解决方案可用 - 检查此answer。但是,您可能无法做到这一点,因为您使用的是外部提供商。

          【讨论】:

            【解决方案5】:

            我不打算翻转,但我想要一个允许我在我的存储库中使用细粒度访问控制的 SVN 主机。

            除此之外,我还会探索使用svn:externals 将移交给外包团队的存储库和我的主存储库连接起来。巧妙的设置可能会减轻一些合并工作。

            【讨论】:

              猜你喜欢
              • 2013-05-30
              • 1970-01-01
              • 1970-01-01
              • 2021-05-03
              • 2012-01-16
              • 1970-01-01
              • 1970-01-01
              • 2012-07-04
              • 1970-01-01
              相关资源
              最近更新 更多