C#アプリケーションを介したTFSとの通信でまだ問題が発生しています。私はPendingChangesを使用して、アプリケーションによって作成されたファイルをチェックインしようとしていますが、何時間もGoogleで調査して読んだ後、特定のファイルのみをチェックインする方法をまだ見つけていません。チェックインを行うときはいつでも、TFSは、現在チェックアウトされているすべてのアイテムに加えて、チェックインするように指示したアイテムをチェックインするだけです。PendingChangesオブジェクトから特定のアイテムを削除したり、まったく新しいpendingchangesオブジェクトを作成したりする方法はありますか。チェックインする必要のあるファイル?オールオアナッシングのこの全体的な振る舞いは非常にばかげているようです。助けてください。
Workspace myWorkspace = createWorkspace();
// Show our pending changes.
PendingChange[] pendingChanges = myWorkspace.GetPendingChanges();
rt.Text += "Your current pending changes: \n";
foreach (string f in checkinItems)
{
foreach (PendingChange pendingChange in pendingChanges)
{
if (Path.Combine(localPath, f) != pendingChange.LocalItem)
{
toCheckIn.Add(Path.Combine(localPath, f));
rt.Text += "Found one!" + Path.Combine(localPath, f).ToString() + "\n";
break;
}
else
{
rt.Text += pendingChange.LocalItem + " Not ours. \n";
}
}
}
myWorkspace.PendAdd(toCheckIn.ToArray(), true);
// Checkin the items we added.
int changesetNumber = myWorkspace.CheckIn(pendingChanges, currentUserName + ": " + toCheckIn + " from CokomImport");
rt.Text += "Checked in changeset " + changesetNumber;
これは私がこれまでに持っているコードです。それは私が必要としないものを除外しますが、私がそれに追加する必要があるもので元のPendingChangesをチェックインする必要があるので、最終的には違いはありません。