2012-08-23 16 views
8

Pracuję z programem TFS programowo przy użyciu klas od Microsoft.TeamFoundation.VersionControl.Client namespace. Moim celem jest sprawdzenie plików z lokalnego folderu do kontroli źródła. Niektóre pliki mogą już istnieć w SC i powinny być edytowane, niektóre są nowe i powinny zostać dodane, niektóre istnieją w SC i nie uległy zmianie, więc nie muszę z nimi nic robić.Sprawdź, czy plik jest już w źródłowej kontroli

Moim problemem jest to, że nie mogę się dowiedzieć, jak sprawdzić, czy plik już istnieje w kontroli źródła, więc nie mogę zdecydować w moim kodzie, czy powinienem go dodać, czy edytować. Żadna z metod Workspace nie wydaje się robić tego, czego potrzebuję.

Kod mam:

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

spełnia swoje zadanie, ale wygląda i czuje się wolny niemy. Jaki jest prawidłowy sposób to zrobić?

+0

nie wiesz o TFS. ale każdy scm ma "status", który może być użyty do sprawdzenia, czy plik istnieje w repozytorium –

Odpowiedz

10

Nie wiem o "poprawnym", ale w jednym z moich narzędzi korzystam z VersionControlServer.ServerItemExists, aby uzyskać to, o co prosisz.

W twoim przypadku trzeba by sprawdzić, z czymś takim:

versionControlServer.ServerItemExists(workspace.GetServerItemForLocalItem("filePath"), ItemType.Any) 
Powiązane problemy