tfs checkout / checkin以编程方式

时间:2012-11-08 17:53:30

标签: tfs

我正在构建一个VS2010插件。此插件仅适用于我们的自定义项目类型,并创建一个菜单项,将输出程序集从当前解决方案复制到另一个解决方案。两者都受TFS控制。

我有以下代码:

var tfs = new TeamFoundationServer(address);
var version = (VersionControlServer)tfs.GetService(typeof(VersionControlServer));
var workspace = version.GetWorkspace(System.Net.Dns.GetHostName().ToString(), version.AuthorizedUser);

workspace.PendEdit(dest);
System.IO.File.Copy(source, dest, true);

现在我想检查一下这个变化。问题是我不知道如何只选择我刚刚签出的那个文件?我在同一个项目以及其他项目中还有其他待定更改。这会检查我检查过的一切吗? 我可以更有选择性吗?

1 个答案:

答案 0 :(得分:2)

PendingChange[] pendingChange = workSpace.GetPendingChanges(dest);
workSpace.CheckIn(pendingChange, comments);
  

Workspace.GetPendingChanges方法(字符串)

     

http://msdn.microsoft.com/en-us/library/bb139277(v=vs.100).aspx

     

参数

     

item:正在查询的项目的路径,本地或服务器。

  

Workspace.CheckIn方法

     

http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.workspace.checkin(v=vs.100).aspx

     

参数

     

变化   要检入的挂起更改集。如果未指定此参数,则会检入工作空间中的所有更改。

     

评论   与此签到相关联的评论。可能是null。