不受信任的团队的版本控制

时间:2011-05-20 17:40:09

标签: dvcs bazaar code-access-security

我的任务是重新设计一个相当复杂的系统。在几周内我们应该开始招聘新的开发人员,但事实证明我的老板担心他们窃取源代码并将其出售给竞争对手。与此同时,我对DVCS实施的要求得到了批准(我们正在远离共享文件夹,耶!),所以我想知道如何通过允许开发人员上传代码来协调两个概念之间的差异到主分支,同时使它们远离核心功能。

有没有直截了当的方法呢? GIT似乎与filter-branch命令类似,但我真的很期待使用Bazaar ......从我收集的内容来看,最好的方法似乎是为系统的每个部分创建分支。任何人都可以提出更好的方法吗?

3 个答案:

答案 0 :(得分:1)

你可以通过mercurial(和git)中的分支来做到这一点。这些DVCS顶部有前置产品,可以轻松实现此权限(请参阅KilnBitBucket,私有GitHub回购)

但罗伯特关于你的问题的评论是真的......如果你不相信那些将源代码提交给你的回购的开发者,我会担心你会遇到的所有问题。如果他们无法获取您的代码,他们将如何编译他们的开发环境?

答案 1 :(得分:1)

如果您需要等效filter-branch,可以使用bzr-fastimport插件中的过滤器命令。 但是这会破坏旧历史和新历史之间的兼容性,所以这可能不是最好的方法。

答案 2 :(得分:1)

更好的解决方案(IMHO)将公开相关的二进制文件并创建一致的框架或API来扩展这些二进制文件的功能。您必须向不受信任的来源公开的最多的是API层,它维护实际代码的钩子。

我实际上认为这是一个非常好的问题。许多人使用来自其领土或国家以外的承包商,并且承包商窃取代码并直接利用此代码发布新的(或伪造的)产品并非闻所未闻! VCS旨在分享代码,因此您需要考虑其他限制访问的方法。

祝你好运!