2012-12-19 79 views
11

在我們的團隊中,我們爲每個提交實踐代碼審查。我的意思是本地代碼審查,當審查者坐在你身邊。使用Subversion(我們使用TortoiseSVN的),我們用來分揀組變化是這樣的:Mercurial知識庫中的代碼審查工具

enter image description here

現在我們使用的水銀(通過TortoiseHG)。 TortoiseHG不支持在工作目錄中對分組進行修改。

本地提交有點幫助,但仍然有一個問題與審查一堆本地提交。沒有辦法「標記」(例如,使用複選框)已經審查過的文件。

有沒有解決這個問題的工具?另外,閱讀Mercurial的代碼審查經驗將會非常有趣。

回答

4

我們利用Atlassian工具Crucible這是迄今爲止最好的公關工具之一,並且與所有其他Atlassian工具混合使用,這是它的最佳選擇。對於一個小團隊來說,這可能會很便宜,對於大型企業來說,這個價格也相當便宜

儘管將您的更改推送到受監控的回購庫,但這種方法仍然有效。我們有效地使用持續集成和構建以禁用每天晚上推送代碼,以便我們可以儘早並快速地進行同行評審和合並。

雖然我們將配對程序並檢查肩部變化或吸引人,但我們可以使用IDE(IntelliJ IDEA)或DiffMerge來查看計算機上的更改。這不是一個真正的公關工具,它是一個diff/merge工具,我們也用於合併,但DiffMerge和Crucible的混合使得我們的敏捷過程非常順利。

我希望能幫到一些。

+0

似乎像Crucible或ReviewBoard這樣的工具對我們來說太強大了。無論如何,謝謝你的答案! – Kirill

-2

有很多代碼審查工具可以處理這個 - 一些免費的;一些支付。做一個「同行代碼審查」的搜索,你會看到他們。我會選擇一些可以讓你報告工作流程,發現的錯誤,審查時間等的信息。這些信息對於提高開發人員和開發團隊的性能非常有用。

+6

有些鏈接可能會有所幫助。有什麼你有經驗,你可以推薦? – davidmc24

5

我看到在水銀執行代碼審查至少有兩種方法| TortoiseHG:

  • 沒有第三方工具
  • 使用附加產品

內部代碼審查

只有Mercurial及其命名的分支在這種情況下使用。初步工作流程和協議 *默認分支是僅合併分支。所有的開發發生在單獨的(個人功能 - ?)分支機構; *只有受信任的QA纔有權限合併爲默認值;

它是如何工作

  1. 當DEV想顯示從分支功能來QA了一些變更,他推的問題(hg push -b)分支以QA(或QA拉分支)
  2. 每個審覈變更(或審查所有包)後,整個分支合併爲默認(或任何其他「主線」分支)和默認推到「權威資源庫」,從「接受改變」可以通過其他開發人員拉

代碼審查與外部工具

ReviewBoard

TortoiseHG從2.0有ReviewBoard對話,集成到工作臺UI。您可以下載,安裝,配置ReviewBoard(請注意 - Django的)或登錄到RBCommons(託管ReviewBoard),並按照本small HowTo爲了得到TortoiseHG和ReviewBoard整合

Assembla,到位桶

後使用分叉回購和拉取請求,您也可以使用CodeReview(在某種程度上)

5

如果您使用Mercurial + Visual Studio開發,我可以推薦Review Assistant

我們將它用於我們公司的代碼審查。我們主要進行提交後代碼審查。

另外,您可以設置與TortoiseHG的集成。

0

需要一種方法讓本地團隊中的開發人員能夠打包更改併發送給他們進行審閱。這裏是揭幕戰:

開發答: hg diff > uncommited.patch

開發B: hg patch --no-commit uncommited.patch