与合同开发团队进行颠覆

问题描述

| 有关向第三方开发团队提供颠覆服务的最佳做法的任何建议。我们已经聘请团队来进行项目的小迭代,但我不想让他们访问整个存储库。我们使用BeanStalk托管我们的Subversion,因此不可能进行仅分支的精细访问控制(我不知道beantalk是这里的限制还是svn的限制)。 我没有在我的主存储库中创建分支,而是创建了一个新的存储库,并让他们仅使用他们需要的最新代码快照来访问该存储库。我认为我必须以任何一种方式手动合并它们的更改。 你会怎么做?     

解决方法

我想我已经转储了一个现有的存储库,然后将relevan片段加载到一个新的存储库中,然后将对新存储库的访问权提供给了第三方团队,这样他们就可以使用现有的代码库来开始工作了。我竭尽全力的最终原因是,在这种情况下,我将能够或多或少地产生明智的差异,因此手动合并将不会是一项艰巨的任务。     ,坦白说,我对SVN服务器设置了解不多。我们的SVN服务器-“ Collabnet \”是名称的一部分,据我所知,它几乎可以使我们将用户划分为组,然后以任意粒度级别向每个组分配权限。 鉴于此,我们有一些离岸开发人员,我们最初在\“ branches \”下给出了自己的目录,让他们在那里进行提交,然后将它们合并到主干中。 但是事实证明,这会造成不必要的合并问题,因此我们现在切换到仅将它们提交到主干。我们可以在日志中看到提交时的用户ID,因此我们知道谁提交了什么。 总的来说,我的理念是,如果您不信任开发人员正在编写的代码(无论是内部人员,承包商还是其他人),则应聘请不同的开发人员,而不是寻找减轻危害的方法从他们的错误代码。迟早您将不得不合并他们的代码,那么延迟这样做有什么好处?     ,我可能会在Google Code上启动一个项目,然后做同样的事情,然后在完成后合并更改。 或者,如果您的软件是组件化的,则为每个独立的组件创建一个单独的项目,那么您确实有权向他们提供他们完成其工作所需的一切。     ,有一个不错的解决方案-检查此答案。但是,由于您使用的是外部提供程序,因此可能无法执行此操作。     ,我不打算翻转,但我想让SVN主机允许我在存储库中使用细粒度的访问控制。 除此之外,我还将探索使用svn:externals将移交的存储库连接到外包团队和我的主存储库。巧妙的设置可能会减轻一些合并工作。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...