2012-12-17 22 views
25

我們的開發流程如下所示:每兩週,團隊負責人(我)進入並審查每個人的變更集,以確保他們符合編碼標準。我想用TFS 2012來幫助實現這個過程的自動化。如何將審閱請求與TFS 2012中的多個變更集關聯起來

有2個問題是:

  1. 沒有辦法提交的不請自來的代碼審查。如果有必要,我可以在沒有這個的情況下生活,我想

  2. 沒有辦法將代碼審查與多個變更集相關聯。這是一個交易斷路器

我讀到一篇文章,其認爲很可能在事後變更集鏈接到一個工作項目,當我打開工作項請求審覈我看到鏈接標籤。但是,當我點擊「新建」或「鏈接到...」時,沒有選項可鏈接到變更集。只有一個選項可鏈接到流程中的每個工作項類型。

有誰知道如何做到這一點?有沒有計劃將這些功能添加到TFS?

以下是截圖:

No changeset option to be found... :(

+0

更多的解決方法而不是解決方案:爲了主動提供評論,我自己檢查文件,編寫一些建議的更改並請求原始作者的評論。 –

回答

10
  1. 不請自來,沒有。
  2. 您可以在歷史記錄屏幕中右鍵點擊changset以請求查看帖子。

還有一個討厭的解決方法來獲得你想要達到的目標。查看您想要查看的所有文件並請求查看。然後,您可以撤消結帳,擱置和審覈請求將保留。

或者,您可以轉到源代碼管理選項卡並執行結帳 - 所有這些都位於解決方案的根文件夾中,請求審閱,撤消結帳並執行審閱。

至於將變更集鏈接到工作項目,可以在簽入後完成。打開工作項目,轉到鏈接選項卡,然後單擊「鏈接到...」下拉列表中將出現「更改集」選項。但我不認爲這種鏈接類型對於代碼審閱請求是啓用的,因爲這些鏈接類型使用Shelveset而不是一組變更集作爲代碼審查來源。

enter image description here

我希望你可以使用TFS API生成擱置了所有從一個特定的開發者在給定的TIMERANGE的變化,把這些放在擱置,並要求對進行審查。但是現有的功能不存在。

或者您也許可以通過創建一個具有相同名稱的新書架來編輯與審閱相關的貨架集。

+0

1.當。 2.我喜歡你關於檢查整棵樹的建議,但不幸的是它不起作用。 Tfs抱怨說每個評論請求有2000個文件的限制。我們已經接近7000. :( – Doug

+7

我覺得微軟只是不希望我使用這個功能...... :( – Doug

+0

3x2000文件和1x7000? – jessehouwing

1

的另一種方法:

1)在兩個星期的週期的開始,啓動代碼審查過程,並注意所創建的工作項數量。只需簡單地向您提出自己的評論,而不需要更改代碼。

2)讓開發人員在未來2個星期的工作項目#

3)當你準備好進行審覈,只需打開工作項目並辦理變更相關聯的簽到地點。

這應該完成你想要的。

+0

在該工具中,因爲你不能要求對工作項目進行評審,反饋請求與Changeset或貨架組相關聯。 – jessehouwing

+0

正確,但你可以請求請回顧虛擬變更集/ shelveset(只是空間),將審閱請求與創建鏈接的工作項相關聯,然後繼續將變更集與審覈請求工作項目編號關聯起來? –

+2

您可以將變更集關聯到相同的工作項目,但不會將它們與實際的代碼審查相關聯,並且這些更改將不會顯示在Visual Studio用戶界面中。 – jessehouwing

0

關於項目#2,我有一個標準的解決方案,您可能希望將來自多個更改集的所有更改合併爲一個擱置集以供審閱。我嘗試了上面提到的結賬方法,並遇到了問題,部分原因是我的評論有25個左右的文件,檢查出來後,如果我刷新了,TFS將它們從未決更改中刪除,因爲TFS的意見沒有變化。

首先,(假設你的變化已經簽入,並在多個變更集),有最新的文件工作空間中的磁盤路徑,如d上:\最新...

創建一個新的「本地「工作空間(稱爲」評論「),將相同的項目映射到稍微不同的路徑(例如D:\ Review ...),獲取所有文件。轉到該項目的歷史記錄,並在最早的變更集之前,右鍵單擊並選擇「獲取此版本」

此時,請轉至歷史記錄並回滾其他人可能在此期間更改過的任何變更集(如果有的話),而您不想成爲其中的一員審查,除非有人更改了一個共同的文件那些。

使用beyond比較,比較「D:\ Latest ...」到「D:\ Review ...」,將您的更改從Latest複製到Review。進入通用文件並僅複製您想要查看的行。當Beyond Compare寫出更改時,TFS將檢測到更改並將您保存的文件放入待審覈更改列表中的「審閱」工作區。 (這是本地工作區的一個功能。)

此時,您只需擱置「審閱」工作空間中的待處理更改,並請求對該擱置集進行審閱。

0

選項#3

[我在這裏假設你正試圖關聯到一個單一的代碼審查的變更是連續的,比如20001:20010]

  1. 我「回滾到特定變更集」(在我的示例 20001以上)。我在更改中檢查它。該代碼現在處於其原始 狀態。

  2. 然後,我「回滾到特定的變更集」(在我的示例 20010以上)並再次檢查。代碼現在處於最終狀態。

  3. 最後,我要求對最新版本進行審查。本評論 比較了最新的兩個提交 - 我從 回滾創建的提交。

作爲獎勵,您可以比較歷史頁面中的特定變更集。您可以使用此比較來確保上面的提交確實將代碼恢復爲修訂版20001和20010。

相關問題