分支 TFS 目录和签入



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

是否有我没有看到的包或类允许我创建和操作分支,以及从 c# winforms 应用程序签入代码?如果是这样,一个例子将不胜感激。

如果使用客户端对象模型参考以编程方式管理版本控制。

要创建分支,您需要在 Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer 类中使用 "CreateBranch((" 方法。

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

示例供您参考:

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","domainuserName");
                Changeset changeset = vcServer.GetChangeset(changesetId);
                changeset.Update();
    }
    }
}

您还可以查看这个类似的问题:如何使用 TFS API 创建新的源代码分支?

至于重命名文件或目录,您可以使用Workspace.PendRename Method,示例代码请参考:如何使用 c# API 移动 TFS 文件?

最新更新