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

「正しい」ことはわかりませんが、私のツールの 1 つで、求めているものを取得するためにVersionControlServer.ServerItemExistsを使用しています。

あなたの場合、次のようなもので確認する必要があります。

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