整天都在寻找一个解决方案,几乎没有运气。我在C#中有这个Windows窗体应用程序 - 我的目标是分支我的TFS存储库中的目录,如果可能的话,在新创建的分支中更改文件名/文件夹名称,并使用更新的文件夹名称/文件名将代码检入TFS结构
是否有一个我没有看到的包或类允许我创建和操作分支,以及从c#winforms应用程序检查所有代码?如果是这样,我们将非常感谢一个例子。
答案 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?