我有一个生成C#文件的工具。我已经能够以编程方式签出文件 使用这种方法:
private static void CheckoutFile(string fileName)
{
var workspaceInfo = Workstation.Current.GetLocalWorkspaceInfo(fileName);
var server = new TfsTeamProjectCollection(workspaceInfo.ServerUri);
var workspace = workspaceInfo.GetWorkspace(server);
workspace.PendEdit(fileName);
}
但是在生成文件后,我想确定文件是否有任何更改,如果没有,则撤消签出。我如何使用TFS SDK做到这一点?
答案 0 :(得分:2)
从根本上说,TFS客户端(例如tfpt uu
)通过比较本地文件的哈希值与您拥有的版本的服务器项目的哈希值来确定是否更改了签出文件在你的工作区。
要实现此行为:
workspace.VersionControlServer.GetItems(fileName, new WorkspaceVersionSpec(workspace), RecursionType.None)
Item
的HashValue
与步骤1中计算的值进行比较。