2014-01-09 2 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