我仍然无法通过C#应用程序与TFS通信。我正在尝试与PendingChanges合作检查我的应用程序创建的文件,但经过几个小时的谷歌研究和阅读后,我还没有找到一种方法来检查特定的文件。每当我办理登机手续时,TFS只会检查当前签出的所有项目以及我告诉它签入的项目。有没有办法从PendingChanges对象中删除某些项目或者用JUST创建一个全新的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中检查我需要添加的东西。