获取已签入的工作区列表

时间:2014-01-07 06:36:56

标签: sql visual-studio-2008 tfs tfs2012 tfs2008

我正在使用TFS 2012.所以在我检查工作区的更改到服务器之后,我的服务器中不再需要该工作区了。那怎么可以逻辑删除呢?是否需要删除该工作区的数据库条目?

如何获取已经签入更改的工作区列表?我认为通过使用该集合的数据库和表将有一些sql脚本。我试图从工作区表条目中识别。但是那里没有找到任何身份证明。所以请帮忙。

1 个答案:

答案 0 :(得分:0)

这个小程序应该适合你:

class Program
{
    static private TfsTeamProjectCollection _tfs;

    static void Main(string[] args)
    {
        _tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("myuri"));

        var service = _tfs.GetService<VersionControlServer>();
        Workspace[] ws = service.QueryWorkspaces(null, null, null);

        foreach(Workspace s in ws)
        {
            var pend = s.GetPendingChanges();
            if (pend.Count() == 0)
            {
                Console.WriteLine("Workspace {0} has no pending changes", s.Name);
                // s.Delete()
                continue;
            }
        }

        // Console.ReadLine();
    }
}

我认为取消注释删除会为您清除它们,但这是未经测试的,所以请谨慎使用。