10

我正在使用Microsoft.TeamFoundation.VersionControl.Client namespace中的类以编程方式使用 TFS 。我的目标是将本地文件夹中的文件签入源代码管理。有些文件可能已经存在于 SC 中并且应该被编辑,有些是新的并且应该添加,有些存在于 SC 中并且没有改变,所以我不需要对它们做任何事情。

我的问题是我不知道如何检查文件是否已经存在于源代码管理中,所以我无法在我的代码中决定是否应该添加或编辑它。Workspace 方法似乎都不能满足我的需求

我的代码:

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

它可以完成这项工作,但它看起来很愚蠢并且感觉很慢。正确的方法是什么?

4

1 回答 1

12

我不知道“正确”,但在我的一个工具中,我使用VersionControlServer.ServerItemExists来获得你想要的东西。

在您的情况下,您必须检查以下内容:

versionControlServer.ServerItemExists(workspace.GetServerItemForLocalItem("filePath"), ItemType.Any)
于 2012-08-23T12:08:29.777 回答