Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I see all items checked out by other users in TFS?

Tags:

tfs

I want a list of all the checked out files, by all users, in a project in TFS 2005. All I can see now are my checked out files - in the pending changes window. I remember that in Source Safe there was such an option - is there one in TFS 2005?

like image 206
Lea Cohen Avatar asked Jan 25 '09 07:01

Lea Cohen


4 Answers

I use:

tf status itemspec /user:* /recursive  

in the VS Command Prompt. itemspec is the TFS path to the item you want to search for checkouts. No extra installations needed ;)

like image 158
xr280xr Avatar answered Oct 05 '22 22:10

xr280xr


The October 2008 edition of the TFS Power Tools includes "Team Members" functionality that allows you to do this, and more.

There is more information on this feature on Brian Harry's blog.

like image 31
Ian Nelson Avatar answered Oct 05 '22 20:10

Ian Nelson


I usually use TFS SideKicks for this.

like image 25
Mitch Wheat Avatar answered Oct 05 '22 21:10

Mitch Wheat


Power Tools option: "Open Visual Studio > Click File > Source Control > Find In Source Control > Status Select "Display all checked out" or "Display files checked out to" (to filter changes by user) Hit Find"

http://geekswithblogs.net/MikeParks/archive/2009/09/16/tfs---view-all-pending-changes-for-all-users.aspx

__

Another way using .net (complete source)

using(var tfsPc=new TfsTeamProjectCollection(tfsUri))

    {
        var vcs=tfsPc.GetService<Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer>();

        var srcRoot=vcs.GetItem(srcpath);


        var pendings=vcs.QueryPendingSets(new[]{srcRoot.ServerItem}, RecursionType.Full,null,null).AsEnumerable();
        if(onlyLocks)
            pendings=pendings.Where(pq=>pq.PendingChanges.Any(pc=>pc.IsLock));
        if(minDate.HasValue)
            pendings=pendings.Where(pq => pq.PendingChanges.Any( pc => pc.CreationDate > minDate.Value));
        var pendingQuery=pendings
            .OrderByDescending(p=>p.PendingChanges.Max(d=>d.CreationDate));
        pendingQuery.Dump("pending");   


    }

similar to above, but join the ActiveDirectory to get a user's name

like image 34
Maslow Avatar answered Oct 05 '22 21:10

Maslow