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[].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 下载
TFS二次开发系列:六、TFS的版本控制的更多相关文章
- TFS二次开发系列索引
TFS二次开发11——标签(Label) TFS二次开发10——分组(Group)和成员(Member) TFS二次开发09——查看文件历史(QueryHistory) TFS二次开发08——分支(B ...
- TFS二次开发系列:三、TFS二次开发的第一个实例
首先我们需要认识TFS二次开发的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection,他们的不同点在于可以获取不同的TFS ...
- TFS二次开发系列:七、TFS二次开发的数据统计以PBI、Bug、Sprint等为例(一)
在TFS二次开发中,我们可能会根据某一些情况对各个项目的PBI.BUG等工作项进行统计.在本文中将大略讲解如果进行这些数据统计. 一:连接TFS服务器,并且得到之后需要使用到的类方法. /// < ...
- TFS二次开发02——连接TFS
在上一篇<TFS二次开发01——TeamProjectsPicher>介绍了 TeamProjectsPicher 对象,使用该对象可以很简单的实现连接TFS. 但是如果我们要实现自定义 ...
- TFS二次开发系列:二、TFS的安装
本系列的实例将采用TFS 2012+Sql Server2012编写. TFS的完整版本安装最好是在Windows server2008 64位以上版本中,其包括64位的SQL SERVER 2012 ...
- TFS二次开发系列:五、工作项查询
本节将讲述如何查询工作项,用于二次开发中定义获取工作项列表. 使用WorkItemStore.Query方法进行查询工作项,其使用的语法和SQL语法类似: Select [标题] from worki ...
- TFS二次开发系列:四、TFS二次开发WorkItem添加和修改、保存
WorkItemStore:表示跟踪与运行 Team Foundation Server的服务器的工作项客户端连接. A.添加工作项 1.首先获得某服务器的WorkItemStore. WorkIte ...
- TFS二次开发系列:一、TFS体系结构和概念
TFS是Team Fundation Server的简称,是微软VSTS的一部分,它是Microsoft应用程序生命周期管理(ALM)工具的核心协作平台,简单的说它是管理和开发软件项目的整个生命周期的 ...
- TFS二次开发系列:八、TFS二次开发的数据统计以PBI、Bug、Sprint等为例(二)
上一篇文章我们编写了此例的DTO层,本文将数据访问层封装为逻辑层,提供给界面使用. 1.获取TFS Dto实例,并且可以获取项目集合,以及单独获取某个项目实体 public static TFSSer ...
随机推荐
- PostgreSQL 磁盘使用大小监控
表大小信息 postgres=# SELECT *, pg_size_pretty(total_bytes) AS totalpostgres-# , pg_size_pretty(index_byt ...
- 移动端rem实现响应布局
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 批处理——服务器的web文件备份
首先建立三个文本文件,稍后会变成.bat结尾的批处理文件. 第一个文件:copyfile.bat[复制需要备份的文件到tmp文件下,等待压缩时使用] xcopy "D:\Webhost\*. ...
- JS 数组迭代方法
var arr = [3,4,5,6,7,"a"]; var isNum = function(elem,index,AAA){return !isNaN(elem);} var ...
- 关于eclipse的一些配置
在linux中打开的一刹那,第一感觉就是这货怎么这么丑,用的时候还发现,这货怎么这么慢. 可以通过使用GTK2来让它的图标显示得合理一些,可以调整内存的限制来减少fullGC的次数. 配置文件的路径: ...
- (一)sql入门 导读
从转行做软件始,就开始接触sql,但还是不怎么深入,回忆3月份找工作的时候,左关联都没有写出来,真是丢脸,以此博客做个认真的开始. 以后的日子,遇到了圆柱体的空心物体,我就应该联想到一样东西,那就是数 ...
- linux 下链接无线网络
无线网卡配置此页由Linux Wiki用户Chenxing于2008年11月27日 (星期四) 09:28的最后更改. 在1233456的工作基础上.本文介绍在Linux命令行界面中手动配置无线网卡的 ...
- 闲鱼demo
编程是一种美德,是促使一个人不断向上发展的一种原动力 -----–以下是正文------- 最近好多app的底部标签导航使用以下形式了,所以我们就来学习一下它是如何实现的. 先看效果: 中间的&quo ...
- iOS屏幕旋转
三种方法 需求:全局主要是竖屏 个别界面需要横屏
- Android 子线程测试
private volatile boolean mStopped = false; private int i; TextView tv1; TextView tv2; @Override prot ...