Jenkins 如何删除TFS工作区映射?
我在一个团队项目中的tfs中有一个项目,然后我们将该项目移动到另一个团队项目中的其他位置 我已将Jenkins配置为连接到团队项目并构建我的解决方案,但当我更改设置以连接到新的tfs团队项目时,出现以下错误:Jenkins 如何删除TFS工作区映射?,jenkins,tfs,Jenkins,Tfs,我在一个团队项目中的tfs中有一个项目,然后我们将该项目移动到另一个团队项目中的其他位置 我已将Jenkins配置为连接到团队项目并构建我的解决方案,但当我更改设置以连接到新的tfs团队项目时,出现以下错误: [workspace] $ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" workspace -new Hudson-ProjectName1-Build-MASTER;domain1\us
[workspace] $ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" workspace -new Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain-eg.net:8080/tfs/newteamproject ********
The path D:\jenkins\jobs\ProjectName1-Build\workspace is already mapped in workspace Hudson-ProjectName1-Build-MASTER [http://domain-eg.net:8080/tfs/oldteamproject].
上面显示存在一个现有的工作区,所以我运行下面的命令来删除它
tf workspace -delete Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain-eg.net:8080/tfs/oldteamproject
它提示工作区已被删除,但我仍然收到相同的错误
我还通过运行以下命令检查映射是否已被删除:
tf workspace -server:http://domain-eg.net:8080/tfs/oldteamproject Hudson-ProjectName1-Build-MASTER
tf workspaces /remove:* /collection:http://domain-eg.net:8080/tfs/oldteamproject
但是它说工作区并不像预期的那样存在
因此,我认为它可能正在某个地方缓存它,并运行以下命令:
tf workspace -server:http://domain-eg.net:8080/tfs/oldteamproject Hudson-ProjectName1-Build-MASTER
tf workspaces /remove:* /collection:http://domain-eg.net:8080/tfs/oldteamproject
它说“缓存中没有与服务器中的*相匹配的工作区”
所以我猜它甚至没有被缓存
那么是什么导致了错误以及如何解决它呢?按照以下步骤从TFS中删除映射:
项目
删除映射
来自VS:
从开发人员命令提示符调用“tf工作区”。它将直接显示“管理工作区” 我遇到了同样的问题,并且能够通过手动删除TFS缓存中的所有文件来修复它,位于此处:
%LocalAppData%\Microsoft\Team Foundation\3.0\Cache
或者
4.0
,5.0
,等等。我使用/newowner命令删除了映射,如下所示:
该命令打开了一个编辑工作区窗口,我在其中删除了映射。之后,我删除了我不需要的工作区。错误是真实的。您可能在不同的计算机上创建了同名的工作区。现在,您可能已经更改了具有不同计算机名称的计算机 这是一个肯定会奏效的变通方法。以下是变通方法
更新2019-01-23 如果重复出现以下错误
工作区wkspace eg不存在…
即使在tf workspace
命令中使用了正确的用户名(wkspcOwnerDomain\wkspcOwnerUsername
),例如
tf workspace“wkspaceEg;wkspcOwnerDomain\wkspcOwnerUsername”/collection:http://tfs.example.com:8080/tfs/collectionEg /登录名:TFSUsername,TFSPassword
然后使用tf workfold
命令可以帮助修复它。看
如果即使这样也不起作用,并且您无法/不愿意使用,请继续下面的“最后一搏”选项
我正在使用TFS 2012。我尝试了所有在线建议:删除缓存文件夹、使用工作区下拉列表、tf Workspace/remove:*、从控制面板清除凭据,IE等等 什么都没用,我相信我的工作区不知怎么被破坏了。最后,我转到TFS数据库并运行以下查询。成功了!当然,在处理数据库、备份等时要非常小心 该数据库被称为
Tfs\uu
。忽略Tfs\u配置
MSSQL数据库。我不确定,但如果您没有Tfs\u
数据库,则设置可能位于Tfs\u DefaultCollection
数据库中。映射存储在tbl\u工作文件夹中。LocalItem
/*Find correct workspace*/
SELECT WorkspaceId, *
FROM tbl_Workspace
ORDER BY WorkspaceName
/*View the existing mapping*/
SELECT LocalItem, *
FROM tbl_WorkingFolder
WHERE WorkspaceId = <<WorkspaceId from above>>
/*Update mapping*/
UPDATE tbl_WorkingFolder
SET LocalItem = 'D:\Legacy.00\TFS\Source\Workspaces\teamProjEg' WHERE
/*LocalItem = NULL might work too but I haven't tried it*/
WorkspaceId = <<WorkspaceId from above>>
/*找到正确的工作区*/
选择工作空间ID*
从tbl_工作区
按工作空间名称排序
/*查看现有映射*/
选择LocaleItem*
从tbl_工作文件夹
其中WorkspaceId=
/*更新映射*/
更新tbl_工作文件夹
SET LocalItem='D:\Legacy.00\TFS\Source\workspace\teamProjEg'其中
/*LocalItem=NULL可能也可以,但我还没有尝试过*/
工作空间ID=
这里的答案都没有删除我的工作区。但这里有一个可能对你有用的解决方案
您不必删除整个缓存文件夹。您将丢失所有设置/首选项 工作区映射存储在名为: 用户本地设置/应用程序数据目录下的VersionControl.config。 位于windows 7中的此处: %LocalAppData%\Microsoft\Team Foundation\x.0\Cache\Volatile 其中x=3.0,4.0,5.0,6.0等 在该文件夹中,您将找到guid命名的文件夹,打开每个文件夹,手动编辑前面提到的文件,以删除该本地文件夹到t的工作区映射(目录路径将出现在mappedpaths属性中)