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 ...
随机推荐
- Centos6.5 python2.7连接mysql数据库
1.环境是centos6.5 32位系统,python版本是2.7.12,mysql版本是5.5.22.准备好所需压缩包,MySQL-python-1.2.4b4.tar.gz pip-6.0.7. ...
- Win7+Docker(boo2docker)搭建php开发环境简略
之所以称谓简略 是不准备配图的意思 嘿嘿! 步骤1: 到docker官网下载Docker Toolbox,并完全安装 步骤2: 安装完成后,运行在桌面新生成的快捷方式:Docker Quickstar ...
- leetcode 419
题目说明: Given an 2D board, count how many different battleships are in it. The battleships are represe ...
- Jquery父级节点追加
<!-- 父节点追加 --><!DOCTYPE html><html lang="en"><script src="../../ ...
- Unity和Android互相调用
安卓部分代码: public class GameMainActivity extends UnityPlayerActivity { private static String CODE_ROOT ...
- Select For update语句浅析 (转)
Select … for update语句是我们经常使用手工加锁语句.通常情况下,select语句是不会对数据加锁,妨碍影响其他的DML和DDL操作.同时,在多版本一致读机制的支持下,select语句 ...
- Hadoop: Hadoop Cluster配置文件
Hadoop配置文件 Hadoop的配置文件: 只读的默认配置文件:core-default.xml, hdfs-default.xml, yarn-default.xml 和 mapred-defa ...
- Git远程操作详解
Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...
- SQL Server 常用高级语法笔记
自从用了EF后很少写sql和存储过程了,今天需要写个比较复杂的报告,翻出了之前的笔记做参考,感觉这个笔记还是很有用的,因此发出来和园友分享. 1.case...end (具体的值)case后面有值,相 ...
- Ajax.BeginForm()实现ajax无刷新提交
1. 同时安装 Microsoft jQuery Unobtrusive ajax 和 jQuery Unobtrusive Ajax,如下图 安装完成之后多了如下的js库 2. 引用该js库 lay ...