2013-12-10 3 views
2

를 사용하여 :체크인 TFS 서버에 코드를 내가 체크인하는 코드 TFS 서버에 C# 코드를 쓰고 있어요 TFS의 API

Workspace WS = VersionControl.GetWorkspace(TeamProject); 
WS.Map(TFSMapServerPath,LocalWorkingPath); 

int NumberOfChange = WS.PendAdd(string.Format(@"{0}\Main\DotNet\",LocalWorkingPath),true); 

PendingChange[] pendingChanges = WS.GetPendingChanges();   
WS.CheckIn(pendingChanges,"Auto Check-in"); 

하지만 난이 오류가 없음

"입니다 있어요 파일을 체크 인 "하면 LocalWorkingPath 아래의 모든 파일/폴더가"보류중인 변경 "입니다.

위의 코드가 맞습니까?

+0

최신을 얻을하고, 거기에 코드를 볼 수 있는지 확인 때로는 코드는 체크하지만, TFS는 그것을하지 물품. – Hadash

+0

TFS 서버를 확인하기 위해 내 계정을 사용했지만 파일/폴더가 있지만 상태가 "변경 보류 중"이므로 마우스 오른쪽 단추로 클릭하고 체크인을 클릭하여 수동으로 체크인해야합니다. –

+0

팀 프로젝트가 이미 있으면 파일 또는 폴더가 성공적으로 체크인됩니다. 그렇지 않으면 "변경 보류 중"입니다. 팀 프로젝트가 TFS 서버에없는 경우 자동으로 체크인하는 방법이 있습니까? –

답변

1

WS.GetPendingChanges() 명령을 WS.GetPendingChanges (tfsServerFolderPath, RecursionType.Full)로 변경했으며 이것이 내 측면에서 작동하고 있습니다. 여기

세부입니다 :

 //Get the current workspace 
     WS = versionControl.GetWorkspace(workspaceName, versionControl.AuthorizedUser);  

     //Mapping TFS Server and code generated 
     WS.Map(tfsServerFolderPath,localWorkingPath); 

     //Add all files just created to pending change 
     int NumberOfChange = WS.PendAdd(localWorkingPath,true); 
     //Get the list of pending changes 
     PendingChange[] pendings = WS.GetPendingChanges(tfsServerFolderPath,RecursionType.Full); 

     //Auto check in code to Server 
     WS.CheckIn(pendings,"CodeSmith Generator - Auto check-in code."); 
+0

이것을 만들기 위해 어떤 참조를 사용합니까? 사전에 감사드립니다 –

+0

이 접근법은 폴더에서는 작동하지 않으며 내부에 파일이없는 폴더 만 체크인하려고하면 "파일을 체크 인하 지 않았습니다."라는 예외가 발생합니다. –