2012-08-23 54 views
8

我正在使用TFS編程方式使用Microsoft.TeamFoundation.VersionControl.Client namespace中的類。我的目標是將本地文件夾中的文件簽入到源代碼管理中。一些文件可能已經存在於SC中,應該被編輯,一些是新的,應該被添加,一些存在於SC中並且沒有改變,所以我不需要對它們做任何事情。檢查文件是否已經在源代碼管理中

我的問題是,我無法弄清楚如何檢查文件是否已經存在於源代碼控制中,所以我不能在我的代碼中決定是否應該添加或編輯它。 Workspace方法似乎沒有做我所需要的。

的代碼,我有:

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

它的工作,但它看起來愚蠢的,感覺遲鈍。什麼是正確的方法來做到這一點?

+0

不知道TFS。但每個scm都有'status',可以用來檢查文件是否存在於回購中 –

回答

10

我不知道'正確',但在我的工具之一,我使用VersionControlServer.ServerItemExists爲了得到你以後的東西。

你的情況,你就必須要檢查的是這樣:

versionControlServer.ServerItemExists(workspace.GetServerItemForLocalItem("filePath"), ItemType.Any) 
相關問題