0

我正在尝试在 TFS API 中编写一个简单的程序,给定更改集编号,它将获取该更改集中所有文件的最新信息。希望这将使更新构建服务器更容易。

代码使用一些黑魔法计算出需要更新的文件列表。一旦它有一个映射文件的列表,它就Workspace.Get会对它们执行一个。这将返回一个GetStatus对象。

我遇到的问题是,在我们的一些虚拟构建服务器上,克隆过程产生了未标记为只读的文件。当 TFS 尝试更新这些文件时,这会产生一条警告消息。在这种情况下,GetStatus.NoActionNeeded布尔值为 false,并且GetStatus.NumWarnings设置为无法获取的文件数。问题是没有办法查明哪些文件特别有这个问题。GetStatus.GetFailures()返回一个大小为 0 的数组,所以我不知道如何获取这些信息。

是否可以检索该列表?我想将它呈现给用户,以便他们决定是覆盖有问题的文件还是采取其他措施。

4

1 回答 1

1

如果 get 失败并且没有失败,您可以通过获取传递给 get 调用的相同项目列表并将它们传递给来检索冲突列表Workspace.QueryConflicts。这将返回与文件名冲突的数组以及有关问题所在的信息。

于 2012-11-28T21:55:17.923 回答