2011-12-01 110 views
4

我正尝试使用TFS API从工作区内的服务器检索最新的代码。 我发现这个问题:使用TFS API获取最新版本

How do you get the latest version of source code using the Team Foundation Server SDK?

这基本上是我想做的事情;但是,我想使用现有的工作区,并只检索代码的某个部分。这可能吗?

例如(使用以上问题给出的例子):

workspace.Get(request, GetOptions.GetAll | GetOptions.Overwrite, "$/MyFolder/MyProject"); 

是这样的可能,而不必设置一个新的工作区或东西吗?

+0

请不要使用GetAll和覆盖,除非你真的需要 - 它们会给服务器和客户端增加不必要的处理开销,以及网络开销。 –

+0

我绝对需要这样做,因为程序的重点是将所有最新的源代码(在指定的子目录内)检索到客户端PC。这应该是一个不经常的过程。 –

+2

对,我的观点是,服务器足够聪明,可以在不强制或覆盖标志的情况下为您提供最新的源代码,除非您在工作区中做了一些可怕的事情。 –

回答

5

您需要获得对您的工作有这样的访问:

var vcServer = teamProjectCollection.GetService<VersionControlServer>(); 
Workspace myWorkspace = vcServer.GetWorkspace("workspaceName", "workspaceOwner"); 

然后你得到最新的一个

myWorkspace.Get(); 

或改善你想通过咨询this得到什么。

为了了解您的工作空间(S)的详细信息在导航VS到

“文件”> “源代码控制”> “工作区...”

+5

怎么样冲突? –