有没有办法让TFS中的Get Latest表现得像最新签到的获取特定版本

Pet*_*ter 4 version-control visual-studio-2012 tfs2012

每当我Get Latest从Visual Studio中的TFS 2012开始.它并没有真正得到最新的.它的作用是更新解决方案文件,以便我的团队成员添加的新内容会显示一个警告标记,所以说它不在那里.

FFS不是我只是要求TFS来为我服务!

显然TFS过于复杂的生活是基于一些奇怪的规则,我不知道我要求什么,并会给我我认为是正确的.

至于我担心自从我上次从服务器获取文件以来该文件已经被修改了!它已经改变了.为什么要来源

无论如何,我想知道是否有办法添加一个上下文菜单命令,将触发Get Specific Version最新的签到?

它可以节省一些失败的构建和点击,并且通常会被TFS中的源代码管理系统所激怒.

Edw*_*son 7

当您在解决方案上选择"获取最新"时,它将获得最新的解决方案.它不会获得添加到服务器上的解决方案的新项目.

而是,打开源代码管理资源管理器并在包含该解决方案的文件夹上执行Get Latest.这将获得所有内容,解决方案文件,新文件等.

至于为什么会这样,我只能推测:Visual Studio解决方案不强制执行严格的文件系统布局,并且可以将文件系统中的任何位置放入解决方案中.因此,当您在解决方案上选择"获取最新"时,TFS提供程序将识别解决方案中同样位于TFS中的每个项目,并在这些路径上执行"获取最新".通过执行此操作,将排除新项目(因为它们的路径未在get中指定.)

如果您要对路径本身或包含它们的文件夹执行"获取最新",则会包含新项目,但是在您已经完成解决方案文件的获取之前,您无法知道这些新项目的位置.

因此,如果您的解决方案设置为使得所有项目都包含在某个目录中(当然大部分都是),那么最简单的方法就是使用Source Control Explorer中的Get Latest.

  • @ aclear16:你说的文件和文件夹是真的.但是,解决方案是Visual Studio中的逻辑概念,它不直接映射到TFS中的概念.(好吧,它当然映射到`.sln`文件,但当你点击解决方案上的"获取最新"时,获得*只是*.sln`将是一次糟糕的体验.)当你做一个最新的解决方案,它会尝试将其映射到受影响的TFS文件/文件夹.但是如果有人在包含你的`.sln`的目录中添加一个依赖资源,那就没办法知道了. (2认同)