2012-08-23 5 views
8

Microsoft.TeamFoundation.VersionControl.Client namespace의 클래스를 사용하여 프로그래밍 방식으로 TFS 작업을하고 있습니다. 내 목표는 로컬 폴더의 파일을 소스 제어로 체크인하는 것입니다. 일부 파일은 SC에 이미있을 수 있으며 편집해야하며 일부는 새로 추가해야하며 일부는 SC에 존재하고 변경되지 않았으므로 그 파일과 관련하여 아무 것도 할 필요가 없습니다.파일이 이미 소스 제어에 있는지 확인하십시오

내 문제는 파일이 소스 제어에 이미 있는지 여부를 확인하는 방법을 알아 내지 못하기 때문에 추가 또는 편집해야하는지 여부를 코드에서 결정할 수 없습니다. Workspace 메서드 중 아무 것도 내가 원하는 것을 수행하지 않는 것 같습니다.

코드는 내가 가진 :

foreach (string file in fileList) 
{ 
    workspace.PendEdit(file); 
    workspace.PendAdd(file); 
} 

그것은 일을하지만 바보 보이는 느린 느낌. 올바른 방법은 무엇입니까?

+0

합니다. 하지만 모든 scm에는 파일이 repo에 있는지 확인하는 데 사용할 수있는 'status'가 있습니다 –

답변

10

'올바른'에 대해서는 잘 모르겠지만 제 도구 중 하나에서 나는 당신이 뭘하고 있는지 얻기 위해 VersionControlServer.ServerItemExists을 사용합니다. 귀하의 경우에는

이 같은 것을 확인해야합니다 : TFS에 대해 확실하지

versionControlServer.ServerItemExists(workspace.GetServerItemForLocalItem("filePath"), ItemType.Any)