TF GET不会重新填充目录

时间:2013-03-19 18:41:33

标签: tfs get tf-cli

我设置了我的TFS工作区并执行了TF GET,它完全按照预期下载了大量文件。

然后我想将我的本地副本修剪为我应该使用的文件夹。所以我删除了本地工作区副本上的所有其他内容(不使用TF命令,只使用Windows和DOS命令)

其中一个目录已添加到我要处理的事项列表中。

如何在不重新下载所有内容的情况下获取该目录?

C:
cd \TFS
TF GET Zebra
(All Files are up to date)

我所有不存在的文件显然都与TF服务器上的现有文件保持同步。 令我感到困惑的是FileExists等于FileNotExists

在尝试了大约二十种这种方法的变化之后,我投降了。

C:
cd \TFS
TF GET /FORCE

它正在下载一吨公吨的东西。据我所知,它正在下载所有内容。有趣的是,输出的格式与我原来的TF GET不同(但这实际上是对问题的分心,在下面重复)。

如何让TFS只从Zebra文件夹下载当前的东西,然后重新填充它,以便我实际上与服务器匹配?

我想一个附带问题 - 如果删除文件而不告诉TFS有关清除本地磁盘空间的错误方法,我的方法应该是什么?

很抱歉,问题是noob-like。但我想当谈到TFS时,我实际上是一个菜鸟。

1 个答案:

答案 0 :(得分:1)

使用TFS2010,您将拥有一个基于服务器的工作区,这意味着服务器会存储有关您工作区的信息。这些信息包括您已下载哪个版本的文件。如果使用命令行或Windows资源管理器删除它们,TFS将无法识别您的更改。如果您然后执行“获取最新”,它将检查具有您应该(!)的版本的文件的实际版本。所以,如果没有什么新内容,TFS将不会向您发送任何内容,因为它应该已经存在。

你可以使用强制选项,这样你就可以得到最新的文件,无论你工作区中已有什么(或不是)

C:
cd \TFS
TF GET Zebra /FORCE

您遇到的问题是工作区映射的结果,但这取决于您的工作方式。例如我是TFS管理员,所以我有一个工作区用于整个TeamProjectCollection并且从未做过递归Get Latest,我只获得了我需要的那些文件/文件夹。你可以对你的TeamProject做同样的事情,但是你总是需要使用VS Source Control Explorer或特定文件夹的命令行,这不是很方便。 我建议为您正在使用的分支/文件夹创建一个工作区,并隐藏您不需要的文件夹。在这种情况下,您可以在根目录上执行GetLastest,但仍然只能获取您感兴趣的文件。