2011-04-15 50 views
1

任何有關提供對第三方開發團隊的顛覆的最佳實踐的建議。我們已經聘請了該團隊進行一個小型的項目迭代,我不想讓他們訪問整個存儲庫。我們使用BeanStalk來託管我們的Subversion,因此細粒度的訪問控制僅僅是一個分支是不可能的(我不知道beanstalk是否是限制在這裏或者一般情況下是svn)。Subversion與合同開發團隊

而是在我的主要倉庫建立分支我創建了一個新的存儲庫,並給了他們訪問該只的代碼,他們需要最新的快照。我想我必須以任何方式手動合併他們的更改。

你會做什麼?

回答

0

我想我會拋棄現有資源庫,然後再裝relevan片放入一個新的,然後再去訪問該新版本庫到一個第三方球隊,所以他們有現成的代碼庫開始工作。我這麼做的最終原因是,在這種情況下,我可以生成一個或多或少明智的差異,因此手動合併不會是一項艱鉅的任務。

0

我可能會在Google Code上啓動一個項目,並完成相同的事情,稍後將更改合併完成。

或者,如果你的軟件組件化,共創一個單獨的項目對每個獨立的組件,然後你就可以訪問給他們,他們需要做好自己的工作只是什麼。

3

坦率地說,我不太瞭解SVN服務器的設置。我們的SVN服務器 - 「Collabnet」是該名稱的一部分,大概就我所知 - 允許我們將用戶放入組中,然後以任何粒度級別爲每個組分配權限。

鑑於此,我們有一些離岸的開發人,我們orginally給自己的目錄下的「分支」,讓他們做他們提交那裏,然後合併到這些樹幹。

雖然這證明會產生不必要的合併問題,所以我們現在已經切換到只讓它們提交中繼。我們可以在日誌中的提交上看到用戶標識,因此我們知道誰做了什麼。

一般情況下,我的理念是,如果你不信任你的開發人員編寫的代碼 - 無論是在公司內部,承包商或什麼 - 你應該得到不同的開發商,而不是尋找辦法,以減緩減少其糟糕代碼帶來的危害。遲早你將不得不在他們的代碼中合併,所以延遲這個得到了什麼?

0

一個很好的解決方案是可用的 - 檢查這個answer。但是,由於您使用的是外部提供程序,因此可能無法執行此操作。

0

我不打算翻轉,但我想要一個SVN主機,允許我在我的存儲庫中使用細粒度的訪問控制。

這且不說,我將不得不使用svn:externals連接移交給外包團隊的存儲庫和我的主要倉庫也探討。聰明的設置可能會減少一些合併工作。