分支TFS目录和签到

时间:2018-03-09 16:43:16

标签: c# .net winforms tfs

整天都在寻找一个解决方案,几乎没有运气。我在C#中有这个Windows窗体应用程序 - 我的目标是分支我的TFS存储库中的目录,如果可能的话,在新创建的分支中更改文件名/文件夹名称,并使用更新的文件夹名称/文件名将代码检入TFS结构

是否有一个我没有看到的包或类允许我创建和操作分支,以及从c#winforms应用程序检查所有代码?如果是这样,我们将非常感谢一个例子。

1 个答案:

答案 0 :(得分:1)

如果您使用Client Object Model Reference 以编程方式管理版本控制。

要创建分支,您需要使用" CreateBranch()" Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer课程中的方法。

  

在服务器上创建一个分支并在不下载的情况下将其签入   分支到客户端。

供您参考的样本:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.TeamFoundation.VersionControl.Client;
using Microsoft.TeamFoundation.Client;
using System.Net;

namespace Model.versionControl
{
    public static class CreateBranch
    {

            public static void CreateBranchWithComment()
            {
                NetworkCredential cre = new NetworkCredential("userName", "password", "domain");
                TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri("http://TFSServerName:8080/tfs/CollectionName"), cre);
                VersionControlServer vcServer = (VersionControlServer)tfs.GetService(typeof(VersionControlServer));
                int changesetId = vcServer.CreateBranch(@"$/SourceControl/WebSites", "$/SourceControl/WebSites_Branch", VersionSpec.Latest);
                new WorkspaceVersionSpec("machineName","domain\userName");
                Changeset changeset = vcServer.GetChangeset(changesetId);

                changeset.Update();

    }

    }
}

你也可以看看这个类似的问题:How to create a new source code branch using TFS API?

至于重命名文件或目录,您可以使用Workspace.PendRename Method,示例代码请参阅:How do I move a TFS file with c# API?