2014-01-09 19 views
1

我有一個生成C#文件的工具。我已經能夠用這種方法編程籤文件 :如何使用TFS SDK以確定如果簽出文件已經改變

private static void CheckoutFile(string fileName) 
{ 
    var workspaceInfo = Workstation.Current.GetLocalWorkspaceInfo(fileName); 
    var server = new TfsTeamProjectCollection(workspaceInfo.ServerUri); 
    var workspace = workspaceInfo.GetWorkspace(server); 

    workspace.PendEdit(fileName); 
} 

但文件已經生成後,我想,以確定是否出現了對文件進行任何變動,如果沒有,撤消查看。我如何用TFS SDK做到這一點?

回答

2

基本上,TFS客戶端(例如tfpt uu)通過比較本地文件的散列值和工作區中版本的服務器項目的散列值來確定您是否更改了簽出文件。

要實現這一行爲:

  1. 計算的本地文件
  2. 查詢服務器上的項目的MD5哈希:workspace.VersionControlServer.GetItems(fileName, new WorkspaceVersionSpec(workspace), RecursionType.None)
  3. 比較ItemHashValue在步驟1中計算出的值。
+0

這就是我需要的到底是什麼。撤銷操作非常耗時,所以我選擇創建一個臨時文件,並且只檢查文件是否真的發生了變化。 – Daryl

相關問題