我正在使用来自Microsoft.TeamFoundation.VersionControl.Client namespace的类以编程方式使用TFS。我的目标是将本地文件夹中的文件签入到源代码管理中。某些文件可能已经存在于SC中,应该是编辑的,有些是新的,应该添加,有些文件存在于SC中并且没有更改,所以我不需要对它们做任何事情。
我的问题是我无法弄清楚如何检查源控件中是否已经存在文件,所以我无法在我的代码中决定是否应该添加或编辑它。 Workspace方法似乎都不能满足我的需要。
我的代码:
foreach (string file in fileList)
{
workspace.PendEdit(file);
workspace.PendAdd(file);
}
它完成了这项工作,但看起来很愚蠢而感觉很慢。这样做的正确方法是什么?
答案 0 :(得分:11)
我不知道'正确',但在我的一个工具中,我使用VersionControlServer.ServerItemExists来获得你想要的东西。
在你的情况下你我必须检查这样的事情:
versionControlServer.ServerItemExists(workspace.GetServerItemForLocalItem("filePath"), ItemType.Any)