2014-12-09 20 views
2

我運行一些版本控制查詢,想看看返回的變更內部的變化。如何查詢合併,包括變更集更改詳細信息?

當我查詢中使用QueryHistory,一些重載讓我指定includeChanges: true,這意味着返回ChangeSet■找填充其Changes財產,我可以看看它 - 太好了!

當我查詢中使用QueryMergesWithDetails,我沒有得到指定includeChanges,所以返回的ChangeSet■找Changes=null,我不能使用。

我已經試過:

  • 獲取使用GetChangesForChangeset的變化,但是這是一個往返到服務器的每一個變更,這是緩慢的。
  • 使用QueryMergesExtended,但只生產ExtendedMerge s,這隻有在變更標識。這意味着我將不得不再次查詢每個變更集的服務器,這又變慢了。

問題:

  1. 我如何查詢像QueryMergesWithDetails,但人口的變化?
  2. 做不到這一點,我怎麼可以查詢一批變更集的改變服務器?

回答

2

我已經打這個路障自己。我不知道有什麼辦法可以發出一個查詢來檢索多個變更集,這些變更集包括每個變更集的Changes和MergeHistory。我發現你已經在你的問題中提到過的最佳解決方法是:

使用QueryHistoryincludeChanges=true標誌查詢變更集。然後通過一系列的變更的迭代,並調用GetChangesForChangesetincludeMergeSourceInfo=true。我發現這個過程實際上並不那麼慢,但它確實涉及往返。

如果你願意的TFS API之外的工作,你可以寫一個自定義的SQL查詢,會拉你在一個查詢所需要的數據,但它從來沒有真正建議直接對TFS數據庫工作。

相關問題