2 回答

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個贊
根據(jù)你的描述,VersionControlServer.TrackMerges()就是你要使用的API。
TrackMerges(array<Int32[], ItemIdentifier, array<ItemIdentifier[], ItemSpec)
獲取從源項(xiàng)到一組目標(biāo)項(xiàng)的合并,以獲取源變更集 ID 列表。
在 sourceItem 參數(shù)中,傳遞要跟蹤更改的分支的根。在 targetItems 參數(shù)中,傳遞要將變更集跟蹤到的分支的根。請注意,這僅適用于具有合并關(guān)系的分支根。確保這一點(diǎn)的最佳方法是查看分支層次結(jié)構(gòu)并使分支直接相關(guān)或通過某些路由相關(guān)。
假設(shè)您想在這樣的分支層次結(jié)構(gòu)中跟蹤從 $/Proj/Main 到 $/Proj/Feature2 的變更集:
$/Proj/Main $/Proj/Dev $/Proj/Feature2然后,您希望將 $/Proj/Main 作為您的 sourceItem 和 $/Proj/Dev 和 $/Proj/Feature2 作為 targetItems 傳遞。
更多詳細(xì)代碼和示例請參考此博客:TFS API - TRACK CHANGESET MERGE IN BRANCHES

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個贊
可能有更有效的方法來做到這一點(diǎn),但您可以使用以下內(nèi)容查詢相應(yīng)分支的歷史記錄:
// pseudo code
var parameter = new QueryHistoryParameters();
parameter.RecursionType = RecursionType.Full;
parameter.IncludeChanges = true;
// set other members to potentially filter out unneeded stuff
// especially, say, "VersionStart" / "VersionEnd".
var result = workspace.VersionControlServer.QueryHistory(parameter);
foreach (var entry in result)
{
// Compare "entry.ChangesetId" with the ID of the changeset you're looking for.
}
請注意,可以通過不同方式收集對 VersionControlServer 接口的引用。上面我假設(shè)您已經(jīng)有了工作區(qū)參考。
- 2 回答
- 0 關(guān)注
- 185 瀏覽
添加回答
舉報