visual-studio-2010 - TFS获取特定版本,类型标签删除所有不包含在当前标签中的文件

标签 visual-studio-2010 tfs source-control-bindings

我们的情况是 make 标签包含 4 个文件(假设所有项目由 10 个文件组成,因此另外 6 个文件不会放置在我们的新标签中)。

当执行“获取特定版本”操作并为“版本类型”放置“标签”,然后选择我们的新标签时,本地文件夹中未包含在新标签中的所有文件(在我们的示例中,另外 6 个文件)都将被删除!这是非常奇怪的情况,所以你能否解释一下我想要获取在新标签中标记的文件的特定版本的情况,但要保留所有其他文件的现有版本并将它们保存在本地文件夹中,所以我只想更新文件位于我的新标签中,并且对不在标签中的文件不执行任何操作???

我认为 TFS 中的某些设置可能可以防止删除这些文件!

提前TnX!

内马尼亚

最佳答案

这正在按设计工作。使用 TFS 中的标签时要非常小心,它们与您在其他类型的源代码管理中可能使用的标签有点不同。在 TFS 中,标签非常可变,并且可以轻松地在单个文件上移动。他们很强大,但也很危险。

如上所述,您可以对单个文件进行按标签获取,这样就可以了。但是,当您对文件夹执行特定的按标签获取时,您会要求 TFS 将该文件夹中的所有内容恢复到标签上指示的相同版本。如果该文件夹中的文件没有标签,则它不会与任何版本标签匹配,并且将被删除。

请记住,TFS 中的单个文件/版本可以有多个标签,因此解决此问题的一种方法是使用新标签标记该目录中的所有文件,然后将此新标签移动到与另一个标签。

考虑 $/Project/Folder 中的三个文件...两个标有 LABEL_A ,并且根本没有标记。你会做这样的事情。

tf label /server:http://tfs:8080 LABEL_B $/Project/Folder /recursive

这将用 LABEL_B 标记所有文件。现在您需要移动LABEL_BLABEL_A 的正确版本文件:

tf label /server:http://tfs:8080 LABEL_B $/Project/Folder /recursive /version:LLABEL_A

请注意,有两个 L's /version:之后...这告诉 TFS 将该标签从文件的一个版本移动到另一个版本。

完成后,根据 LABEL_B 获取具体信息,你应该可以开始了。

关于visual-studio-2010 - TFS获取特定版本,类型标签删除所有不包含在当前标签中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5260958/

相关文章:

c# - VS2010 和 WPF 缓慢调试问题

c# - 将警告视为 TFS 级别 VS2017 上的错误

持续集成中的数据库变更管理

visual-studio-2010 - 将 TortoiseMerge 与 Visual Studio 和 TFS 结合使用 - 合并目标(未找到)

visual-studio-2015 - Visual Studio 2019 找不到绑定(bind)信息,但 VS 2015 很好

c++ - 从非版本控制文件夹移动到版本控制文件夹后,VC++ VS2013 项目无法编译

visual-studio-2008 - ClearCase 与 Visual Studio 的集成

c++ - 嵌套绑定(bind)到成员,需要一个指针,得到一个引用。做什么?

c# - asp.net下拉列表向上打开

c# - 从其通用父类继承的嵌套类