How to remove a TFS Workspace Mapping?

2019-01-08 05:30发布

I had a project in tfs within a team project then we moved the project to a different location in another team project.

I had configured Jenkins to connect to the team project and build my solution but when I changed the settings to connect to the new tfs team project, it gives me the below error:

[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.net:8080/tfs/newteamproject ********
The path D:\jenkins\jobs\ProjectName1-Build\workspace is already mapped in workspace Hudson-ProjectName1-Build-MASTER [http://domain.net:8080/tfs/oldteamproject].

So the above shows that there is an existing workspace so I ran the below command to remove it

tf workspace -delete Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain.net:8080/tfs/oldteamproject

and it prompted that the workspace has been removed but I'm still getting the same error.

I also checked whether the mapping has been removed or not by running the below command:

tf workspace -server:http://domain.net:8080/tfs/oldteamproject Hudson-ProjectName1-Build-MASTER

but it says the workspace doesn't exist as expected.

So, I thought it might be caching it somewhere and ran the below command:

tf workspaces /remove:* /collection:http://domain.net:8080/tfs/oldteamproject

and it said "No workspace in the cache matches * from server http://domain.net:8080/tfs/oldteamproject"

so I'd guess it's not even cached.

So what's causing the error and how to resolve it?

18条回答
ら.Afraid
2楼-- · 2019-01-08 05:56

The error is genuine. You might have created workspace with same name on different machine. Now you may have changed machine having different machine name.

So here is work-around that will definitely work.Following is work-around.

  1. Go to "Team-Explorer"
  2. Go to "Source-Control"
  3. Go to Workspace drop-down
  4. Click on "Workspaces..."
  5. A pop-up window will appear
  6. Click on "Show remote workspaces"
  7. Now delete the workspace which is conflicting and you can proceed your work.
查看更多
我想做一个坏孩纸
3楼-- · 2019-01-08 05:56

You don't have to delete the entire Cache folder. you lose all settings / preferences The workspace mappings are stored in a file called:

VersionControl.config under the users local settings/application data directory. located here in windows 7:

%LocalAppData%\Microsoft\Team Foundation\x.0\Cache\Volatile

where x= 3.0,4.0, 5.0,6.0 etc.

Inside this you will find guid named folders , open each of them, manually editing the forementioned file, to remove the workspace mapping(directory path will be present in mappedpaths attribute) from that local folder to the TFS server (which is no longer in usage).

查看更多
小情绪 Triste *
4楼-- · 2019-01-08 06:00

Follow these steps to remove mapping from TFS:

  1. Open team explorer
  2. Click Source Control
  3. Right click on you project
  4. Click on Remove Mapping
查看更多
虎瘦雄心在
5楼-- · 2019-01-08 06:00

File -> Source Control -> Advanced -> Workspaces -> Choose the workspace in Manage Workspaces and click "Edit" Then you can change the local folder.

查看更多
地球回转人心会变
6楼-- · 2019-01-08 06:03

I was prompted to login to our TFS server via Visual Studio, so I used my SU account which is typically required for server access. This led to some issues, and I ended up mapping to a different folder, not realizing I had just duplicated all my stuff. At some point, Visual Studio reverted back to my regular user, I "lost" pending changes, and noticed that new pending changes were placed by in my old mapping.

When I would try to remap to the new location (that the SU account was linked to) in an attempt to recover my pending changes, it would tell me it was already mapped to the SU, and I couldn't do that, but had no way of removing the map! Show remote workspaces, removing all workspaces via command line, etc revealed nothing. I then thought "what if it's actually linked to the SU user account on my computer, not the domain." I logged in as my SU locally, and sure enough, there was a workspace all setup for that user. I removed the mapping, and was able to go back to my regular user and remap without issue.

Moral of the story, perhaps another user is logged in on the same machine, which isn't visible from the currently logged in user, thus you cannot remove or even see the mappings.

查看更多
Bombasti
7楼-- · 2019-01-08 06:05

Thanks for your help!

Find problem workspace SELECT * FROM tbl_Workspace WHERE WorkspaceName like '%xxxxx%'

Find desired workspace SELECT * FROM tbl_Workspace WHERE WorkspaceName like '%zzzzz%'

Select Edit Top 200 tbl_WorkingFolder then Find the problem mapping SELECT * FROM tbl_WorkingFolder WHERE WorkspaceId = Problem WorkspaceId from above

Change the WorkspaceId to the desired WorkspaceId

Finally goto Project Explorer and select Remove Mapping on the project

Modify VB6 MSSCCPRJ.SCC to match the desired WorkSpace

查看更多
登录 后发表回答