2010-05-31 91 views
3

我對允許使用身份驗證片進行分佈式開發的系統感興趣。 那是什麼意思?分佈式開發系統

好吧,讓我們把SVN,SVN跟蹤修訂,並不關心誰提交,只要你有權提交你真的可以提交到存儲庫中的任何部分。我的系統在哪裏起作用?能夠對訪問控制進行粒化,併爲環境提供類似感覺的堆棧溢出。

在系統中,我描述了我們有4個用戶Bob,Alice,Dan,Joe。鮑勃是一個被管理的項目,艾麗斯和丹是鮑勃的程序員,喬是互聯網上隨機的程序員,他想幫忙。理想情況下,在這個系統中,Bob可以進行任何更改並且不需要批准。愛麗絲和丹可以向他們的分支機構或分支機構承諾,但對幹線的承諾需要得到鮑勃的批准。
這是Joe進來的地方,想要幫助,但是,你只是不想給他王國的鑰匙,所以在我的系統中,你會設置一個「低用戶」帳戶。 Joe製作的任何提交需要Dan,Alice或兩者的批准。但是,在系統中,Joe可以在經過許多批准的提交之後建立「Karma」,只需要其中一位程序員批准,然後最終不需要批准。

這是否有意義,你知道這樣的系統是否存在?或者我只是瘋了,甚至認爲這樣的系統/環境將是可能的?

回答

0

總是需要問的問題是:爲什麼您的解決方案比現有解決方案更好?

例如,爲什麼不使用分佈式系統,並讓隨機用戶推送給那些可以在需要時進行修改的人。隨着時間的推移,如果開發者證明了他自己,就讓他以管理員身份訪問。

我知道這將是很酷的這一切自動化,但提交源代碼不經常,管理員無法管理由手工添加的人出現。

+0

雖然不是一個直接的答案,但你確實給了我一個好主意。 – 2010-06-02 13:24:43

+0

很高興幫助!如果您的項目離開地面,請發佈項目網站的鏈接! – samoz 2010-06-02 14:59:08

0

您可以爲顛覆設置基於目錄的權限,這可以減輕您與Alice和Dan引用的絕大多數問題。

大多數項目處理Dan的案例的方式是允許他提交補丁,然後由主管提交補丁。

2

任何體面的分佈式版本控制系統,如Git或Mercurial都可以做到這一點。有推動權限的人可以推送,其他人則必須發送推送請求。缺少的唯一功能是自動構建您稱之爲「Karma」的內容。

這是大多數開源項目運行的方式。

1

唔...有趣的祝福......

讓我們來看看。你可以做3個分支:

  • 最終
  • 發展
  • 不安全

Bob可以在Final提交。愛麗絲和丹在Development承諾和喬可Unsafe提交。

批准實際上是從較低分支到較高分支的合併。例如:當Joe的代碼由Alice或Dan在Development分支中合併時,Joe獲得批准。同樣,對Alice和Dan的批准是由Bob在Final分支中合併他們的代碼。

對於Karma來說有點複雜。您可以編寫一個腳本來檢查一個用戶的合併次數(審批)。當超過某個閾值時,用戶被提升(腳本讓他訪問更高的分支)。