我感兴趣的是一种允许使用身份验证块进行分布式开发的系统。我这么说是什么意思?
好的,让我们以SVN为例,SVN跟踪修订,并不关心谁提交了,只要你有提交的权利,你就可以提交到存储库中的任何部分。我的系统在哪里发挥作用?能够对访问控制进行粒度控制,并给环境一种堆栈溢出的感觉。
在我描述的系统中,我们有4个用户Bob,Alice,Dan,Joe。鲍勃是一个项目经理,爱丽丝和丹是鲍勃手下的程序员,乔是互联网上想要帮助的随机程序员。理想情况下,在这个系统中,Bob可以提交任何更改,不需要审批。Alice和Dan可以提交到他们的分支,或者分支,但是提交到主干需要得到Bob的批准。
这就是Joe想要帮助的地方,然而,你只是还不想给他通向王国的钥匙,所以在我的系统中,你会设置一个“低用户”帐户。Joe所做的任何承诺都需要得到Dan、Alice或两者的批准。然而,在系统中,Joe可以建立"Karma“,在如此多的批准提交之后,只需要一个程序员的批准,然后最终就不需要批准了。
这有意义吗?你知道这样的系统是否存在吗?或者我只是疯了,甚至认为这样的系统/环境是可能的?
发布于 2010-06-01 06:18:56
一个总是需要问的问题是:为什么你的解决方案比现有的解决方案更好?
例如,为什么不使用分布式系统,并让随机用户推送到某个人,然后在必要时将这些更改拉入。随着时间的推移,如果开发人员证明了自己,就让他作为管理员访问即可。
我知道让所有这些自动化是很酷的,但是提交源代码并不是经常发生的,以至于管理员无法手动管理添加人员。
发布于 2010-06-01 06:18:10
任何像样的分布式版本控制系统,如Git或Mercurial,都可以做到这一点。有权限推送的可以推送,其他人必须发送拉取请求。唯一缺少的功能是你所谓的"Karma“的自动构建。
这就是大多数开源项目的运行方式。
发布于 2010-06-01 06:24:45
嗯..。有趣的愿望。
让我们看看。你可以做3个分支:
Bob可以在Final中提交。爱丽丝和丹可以在Development中提交,乔可以在Unsafe中提交。
审批实际上是将较低分支的更改合并到较高分支。例如:当他的代码被Development分支中的爱丽丝或丹合并时,乔就会获得批准。类似地,对爱丽丝和丹的批准是由鲍勃在Final分支中合并他们的代码。
对Karma来说就有点复杂了。您可以编写一个脚本,它会不时地检查一个用户的合并(批准)次数。当超过某个阈值时,用户会得到提升(脚本允许他访问更高的分支)。
https://stackoverflow.com/questions/2946214
复制相似问题