2013-11-26 35 views
0

我目前正在與一些有經驗的程序員和一些業餘程序員一起工作幾個項目。我們曾經在網絡目錄下工作,但我們決定切換到SVN來管理我們的代碼。SVN代碼審查沒有SVN的分支

我們還希望查看在存儲庫被添加到生產服務器之前提交到存儲庫的代碼。 我們嘗試了像Trac之類的東西,但是這些要麼沒有阻止代碼在獲得傳球之前被添加,要麼在沒有分支的情況下無法運行。我們無法學習我們的業餘開發人員開始使用分支機構。

有人知道一個系統可以爲我們工作嗎?

非常感謝

+0

相關:[防止在svn同行評審前提交](http://stackoverflow.com/q/8905931)(但不重複) –

+2

獲得更好的業餘開發人員,可以教授使用分支機構。如果你只是爲他們刪除了對主幹的寫入權限,那麼它就會游泳或淹死。真的,這並不難。 – Wrikken

+0

這裏有更多的討論:[在代碼被提交到中繼之前審查代碼的最佳方式是什麼? (SVN)](http://programmers.stackexchange.com/q/144614)是否支持SVN限制對分支機構的訪問?我不確定我的頭頂。如果是這樣,也許業餘程序員只能訪問分支機構,消除了培訓問題。想到的另一個想法是像Git這樣的分佈式VCS:有一個每個人都提交的「髒」回購;並手動(審查後)將更改提交到生產回購。但是,Git當然有一個學習曲線 –

回答

0

一種選擇是使用軟件,如ReviewBoard來管理你的代碼審查。審查委員會項目本身就是這樣做的。如果你想貢獻一些東西,你不能直接提交到版本庫(寫入權限僅限於一個小組)。您必須簽出一份代碼副本,進行更改並將修改提交爲代碼審查補丁。審查完成後,其中一位審閱委員會維護人員將從審閱請求下載最終的補丁並將其提交到存儲庫。貢獻者可以做到這一切,而無需創建分支或類似的東西。

這種方法的缺點是它涉及一些額外的工作(有人需要下載並提交補丁)。然而,使用一些聰明的腳本,你大概可以自動化這個過程的大部分。

其中一個變化是要求主幹提交表明代碼審查ID號碼(類似[review 1234]可能工作)。任何沒有代碼審查ID的提交都會被存儲庫的預提交鉤子腳本拒絕。該腳本還可以解析審閱ID號碼,在Review Board中查找該代碼審查,並驗證是否有人簽署了更改。如果沒有高級開發人員簽字,腳本會拒絕提交。這種方法允許您的開發人員在不需要第三方介入的情況下自行進行提交,但它需要一個非常複雜的鉤子腳本。