2015-10-20 77 views
0

我在Visual Studio中使用TFS和Git,我希望能够导出或克隆所有未决文件和文件结构到我选择的文件夹,以便我的待处理的更改可以在本地进行备份,而不是搁置或暂存待定文件。我目前不得不在Windows资源管理器中打开每个文件,然后运行脚本将文件及其文件结构复制到我的备份位置,这非常耗时且易于发生手动错误。有谁知道TFS中的插件,功能,任何Git工具或Visual Studio中的哪些工具可以将未决文件及其文件结构复制到我选择的文件夹中?克隆文件结构的Visual Studio中挂起的更改

回答

0

你可以使用TFS API来实现你想要的。获取所有文件,文件夹并获取他们的目录。判断文件是否正在等待更改。然后使用您的脚本将文件复制到备份位置。

工作区,你的代码中引用:

private void PopulateTreeView(string workspaceName) 
{ 
    // Connect to TFS - VersionControlServer Service 
    var tfs = 
     TfsTeamProjectCollectionFactory.GetTeamProjectCollection 
     (new Uri("https://tfs2010:8080/defaultcollection")); 
    var vcs = tfs.GetService<VersionControlServer>(); 

    // Get the workspace the user has currently selected 
    var workspace = vcs.QueryWorkspaces(workspaceName, 
     vcs.AuthorizedUser, Environment.MachineName)[0]; 
    _workspace = workspace; 
    tvWksNavigator.Nodes.Clear(); 

    // Loop through all folders and get directories and files 
    foreach (var folder in workspace.Folders) 
    { 
     var info = new DirectoryInfo(folder.LocalItem); 
     if (info.Exists) 
     { 
      var rootNode = new TreeNode(info.Name) { Tag = info }; 
      GetDirectories(info.GetDirectories(), rootNode); 
      tvWksNavigator.Nodes.Add(rootNode); 
     } 
    } 
} 

使用方法QueryPendingChanges,它可能通过一个文件路径,看看文件被挂起的更改,如果是这样,什么是锁类型,也可以获取该文件的下载详细信息。

var status = _workspace.QueryPendingSets(new[] { new ItemSpec(
                dir.FullName, 
                RecursionType.None) }, 
                _workspace.Name, vcs.AuthorizedUser, 
          false); 
+0

这是TFVC,但不是Git ... –

相关问题