TFS二次开发系列:六、TFS的版本控制
在TFS中对于版本控制是在WorkSpace工作区来控制的。
首先我们先整理WorkSpace的一些基本使用方法。
CheckIn:迁入挂起的操作
CreateMapping:创建一个本地映射地址
Delete:删除工作区
GetPendingChanges:获取挂起的工作区
Merge:合并工作项
PendAdd:排队文件或一个文件夹添加到版本控制储存库
PendBranch:计划一个文件或文件夹的分支
PendDelete:队列删除文件或文件夹的从版本控制储存库
PendEdit:编辑签出文件从版本控制储存库
其次我们通过一个实例来看看如何创建本地映射地址,获取挂起工作区,排队文件,迁入挂起等操作。
//TFSURI Uri tfsUri = new Uri("http://pc-20130113jkun:8080/tfs"); TfsTeamProjectCollection projectCollection = new TfsTeamProjectCollection(tfsUri); //设置版本控制Server VersionControlServer versionControl = projectCollection.GetService<VersionControlServer>(); //设置工作空间名称 String workspaceName = String.Format("{0}-{1}", Environment.MachineName, "Test"); Workspace workspace = versionControl.GetWorkspace(workspaceName, versionControl.AuthorizedUser); //设置服务器文件夹 var serverFolder = "$/Calueng"; //设置本地映射文件 var localFolder = Path.Combine("C:\\Temp\\", "Test"); //设置为工作目录文件夹 var workingFolder = new WorkingFolder(serverFolder, localFolder); // 创建工作空间的本地映射地址 workspace.CreateMapping(workingFolder); // 获取工作空间的文件并且下载所有文件 workspace.Get(); // 创建一个测试文件夹 String newFolder = Path.Combine(workspace.Folders[0].LocalItem, "测试文件夹"); Directory.CreateDirectory(newFolder); String newFilename = Path.Combine(newFolder, "测试文档1.txt"); // 创建一个测试文件 using (var streamWriter = new StreamWriter(newFilename)) { streamWriter.WriteLine("这是测试文件的文字"); } //将这个文件排队等待迁入TFS管理 workspace.PendAdd(Path.GetDirectoryName(newFilename), true); // 创建等待添加的文件项集合 var pendingAdds = new List<PendingChange>(workspace.GetPendingChanges()); // 将工作项CheckIn系统中 int changesetForAdd = workspace.CheckIn(pendingAdds.ToArray(), "这里是备注消息"); Console.WriteLine("迁入了工作项 {0}", changesetForAdd); Console.ReadLine();
如需源码请点击 TFSTest2.rar 下载
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架