2017-02-14 47 views
0

我目前面臨的情況是,我在TFS存儲庫中工作,該存儲庫有一個專用於數據庫的大型源代碼管理文件夾。有各種數據庫對象的子文件夾,比如表,存儲過程,函數等等。現在我們的團隊每次檢查對這些對象之一進行數據庫更改時,都會創建一個DB代碼審閱任務。在過去的幾個月裏,我已經在40-50之間檢查了各種數據庫對象。問題在於這不是很有效,因爲這些檢入和後續檢查的重要百分比會浪費時間,因爲按時間順序檢查會使代碼過時。我只是一個8-10人團隊的開發人員,那些可憐的DBA!管理TFS中的數據庫代碼評論

我有我認爲會是一個工作解決方案,但我不認爲這是可能從UI(至少在TFS 2012)獲取這些數據,我不知道如何甚至開始查詢得到它(假設他們甚至會讓我訪問tfs db)。

我想得到的是一個結果集,包括特定源控制文件夾內的所有修改文件和兩個日期之間的子文件夾。然後,我希望能夠獲取在開始日期有效的變更集的ID和在該日期結束時有效的變更集ID。

表將有希望是這個樣子:

文件1 - BeginningChangesetID - EndingChangesetID

文件2 - BeginningChangesetID - EndingChangesetID

這種方式,我們可以構建我們的數據庫代碼審查,使得我們能夠提供文件名,開始的變更集和結束變更集。這將允許DBA彈出開放源碼控制,導航到文件,右鍵單擊並比較文件的這兩個版本,然後能夠對相關的代碼提供有意義的反饋。如果任何人有任何關於如何從TFS提取這些信息的建議,將非常感謝!示例查詢也很棒。如果這個數據可以在2012年以後的版本中通過用戶界面檢索到,我也在尋找。

回答

0

如果您右鍵單擊源代碼管理資源管理器中的某個文件夾,則可以選擇區分文件夾。在差異窗口中,您可以選擇要在兩側進行比較的文件夾版本。

將源設置爲:

  • $ /項目/文件夾
  • [SERVER]
  • 版本:日期

目標設置爲:

  • $/Project/Folder
  • [服務器]
  • 版本;另一個日期

您可以配置要顯示的內容,您似乎很感興趣:大多數選項,在源代碼中,在目標中,已更改。

可以實現從命令行同樣的事情:

tf vc folderdiff $/Project/folder;D"2017-01-01" $/project/folder;D"2017-02-01" 
    /recursive /view:different,sourceonly,targetonly 
+0

不正是我一直在尋找,但它似乎是在TFS 2012最好的選擇。 –