ChatGPT解决这个技术问题 Extra ChatGPT

How to undo another user’s checkout in TFS?

tfs

As the resident TFS admin, on occasion I am asked to undo a checkout (usually a lock) that a user has on a certain file checked into source control.

How do you undo another user's checkout?


C
Community

There are at least 2 different ways to do this:

Command Line

There is a command-line utility called Tf.exe that comes with Team Explorer. Find the documentation here. It can be accessed by launching a Visual Studio Command Prompt window. The syntax of the command is:

tf undo [/workspace:workspacename[;workspaceowner]] 
[/server:servername] [/recursive] itemspec [/noprompt]

For one file

tf undo /workspace:workspacename;workspaceowner $/projectname/filename.cs

GUI

The second is via the GUI, but does not come standard - you have to install the TFS Power Tools. See here for details on how to use this method.

Keep in mind that with either method you will need the appropriate rights. The permissions are called "Undo other users' changes" and "Unlock other users' changes". These permissions can be viewed by:

Right-clicking the desired project, folder, or file in Source Control Explorer Select Properties Select the Security tab Select the appropriate user or group in the Users and Groups section at the top View the "Permissions for [user/group]:" section at the bottom

Deleting the workspace

tf workspace /delete WorkspaceName;User
             /server:http://server:8080/tfs/MyTeamCollection 

For me the command tf undo /workspace:mydesk *.sdf reports "No pending changes" but does not undo the check-out (lock)
I forgot the TFS server path befor my *.sdf itemspec, I'd assumed it would work it out from the current directory. The command line you give works for me now.
Make sure you use quotes around paths with spaces, otherwise you might get message like: "No pending changes were found for $/xxx"
How do I find the workspace name? I see I can run: tf workspaces /owner:[other user] /server:[server], I get a list of four workspaces the user has, but how would I know which workspace it is for the file?
PeterX, you can see the workspace by navigating to the file in Visual Studio's Solution Explorer, right click the locked file and select Properties, then in the Status tab you have info about the workspace and user that locked the file
p
p.campbell

The easiest way I found is to use the free TFS Sidekick application. It has an option to view and undo other user's checkout.


It is below "Status Sidekick". Search, select files, undo.
If user has left the company then you have to know the Active Directory username (which is not always same as user's firstname and/or lastname). My company assigns numbered usernames so I had to look up the retired user before I could search for him in VS or in the Status TFS Sidekick.
This worked amazingly. so much easier than trying to figure out workspace names and such using the command line tool.
s
saeid mohammad hashem

I just had this problem myself and found an easier way to clean up old workspaces.

In Visual Studio, open Source Control Explorer. From the 'Workspace' drop-down select 'Workspaces...' A dialog will appear showing the workspaces on your current PC. Select 'Show remote workspaces' You will now also see workspaces from your previous PC (as long as they are from the same user account). Select the old workspace(s) and click 'Remove'. This should delete the old workspace from from TFS along with any persisting checkouts.

I'm sure Arne has found a solution but I hope this helps others who google the issue.


This works well if you are the workspace owner, especially for cleaning up your current list of workspaces. Not so good for deleting other user's workspaces or checkout locks :-).
Agreed. This works well for deleting your own checkout locks from another PC.
Right, but the question is specific to unlock files that are checked out to a DIFFERENT user.
M
Maryam

Select your file in TFS sidekick, then above the list, you have a "undo pending Change". Click on that and the change will be undone :) The icon is similar to the "Undo" icon in MS word Get TFS sidekicks from http://www.attrice.info/cm/tfs/index.htm


Simplest Tool to use. Really helped me undo a change at the solution level that a ex-worker had checked out