2

我们有这样的情况,用 4 个文件制作标签(假设所有项目都由 10 个文件组成,所以另外 6 个文件没有放在我们的新标签中)。

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

我想 TFS 中有一些设置可能会阻止删除这些文件!

提前TnX!

内马尼亚

4

1 回答 1

6

这是按设计工作的。在 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

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

完成后,根据 获取具体信息LABEL_B,您应该一切顺利。

于 2011-03-10T17:49:31.023 回答