TFS 2008:覆盖的文件
我想在一个文件应用标签标签,但由于标签上的旧版本文件已经存在,我得到这个错误:TFS 2008:覆盖的文件
TF203007:无法创建标签,因为受版本控制的项目$/MyProj/MyFile.cs已经存在或已被指定多次。
我想从旧版本的标签移动到最新。
可能吗?
非常感谢!
听起来好像它试图将标签应用到已具有该标签的文件的版本。如果你使用tf label
,它会移动标签,如果可以的话,那么你就是这样做的。
要检查的一件事是工作区中的版本是否是要标记的版本。否则,指定versionspec(例如下面会标注最新版本的文件,无论你目前在你的工作空间):
tf label "$/MyProj/MyFile.cs" /version:T /server:http://tfs:8080
如果你可以发布你使用它的tf label
命令行也可能有所帮助。
(编辑:上面的tf命令适用于tfs 2005和2008。您需要为tfs 2010指定项目集合而不是服务器)。
一个非常简单的解决方法(如果它允许你的情况)来解决这个错误MESG是(尤其是当每个人都站在你身后,以解决紧迫的基础上,这个问题):
- 只要改变buildnumber。 txt文件(保存上一次成功的buildnumber“number”的文件),并将该数字碰到新值,即如果得到的错误是TFS>。 ...无法标记...文件,并且在构建时间期间,TFS试图应用的构建标签(可以说)是:TFS_RELEASE_BUILD_5,然后,将构建编号修改为10或20或50,即下一个您的构建脚本将自动生成的构建编号将为11,21或51.
问题已解决。
我的情况:
我创建了一个分支 “11.0” 有时2周回来。在这个分支,我们创建构建从1到10的版本标签是格式:TUD_COR_11.0.0.1 ..to 10
昨天,我删除了11.0支。
-
昨天,我们不得不从一个新的源分支所以我们所做的事情又重新创建分公司:
一个。删除11.0分支。检查改变,所以分支现在不见了。
b。删除由构建定义创建的所有构建,并最终删除构建定义(因为其他团队成员希望我从头开始为新的11.0分支(将从新的源分支创建)创建新的构建定义。在创建构建定义时,我成功地看到了标签/ etc /中的“tick”标记,与现有构建定义相关的任何东西都将按照Delete操作进行删除。
现在我创造了新的再支11.0从最新的数据从源分支今天的。
再次创建构建定义。
创建COR与构建标签TUD_COR_11.0.0.1再次建立。现在TFS给了我上面提到的类似的“error mesg”。
可能的解决方案:
A.删除文件“按生成日志”里TFS标签操作失败。你可以使用sidekick -OR TF标签命令。注意:如果从文件中删除标签(或者在此标签下删除此文件,即此标签不再应用于此标签),这会非常耗时。
*注意:这里我们不是从源代码管理中删除文件。 刚刚从标签概念
B.或删除文件只是增加了buildnumber.txt ..这构建脚本用来生成构建标签也就是说,如果我的buildnumber.txt(这是在源代码控制的地方它包含一个值“0”,它创建的标签为TUD_COR_11.0.0.1(其中分支为11.0,构建系列为11.0.0.1)即格式的版本为“1”。现在,如果我只是将此buildnumber.txt的值更改为“10”(为什么这是我们在HAD 11.0分支之前成功创建的最后一个内部版本号(在我们删除它之前)..所以我将buildnumber值颠倒为10即现在如果我再次运行构建定义(即构建构建队列),构建脚本将生成一个新的构建,编号为11,即构建标签为“TUD_COR_11.0.0.11”。问题在少数SECONDS中解决。公司中没有人提出了在做这个,因为这是一个发展分支,使他们不在乎我们建(SCM团队)都提供给他们。他们只是想要一个成功的版本号有任何怀疑。