TFS二次开发04——工作区(Workspace)和映射(Mapping)
在前面几节介绍了怎样读取TFS服务器上的项目以及文件的信息,这一节将介绍怎么建立服务器和本地的映射(Mapping)。
引用命名空间
usingMicrosoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
一:Workspace
工作区 是服务器的文件、目录在客户端的映像。当用户对源代码管理中的目标进行增加、编辑、删除、移动、重命名,或者其他操作时,用户的修改会保留在工作空间中,标记为工作空间中的“待定/未提交修改”(Pending Change)。这些修改只有被用户签入(Check In)后,服务器上的文件或目录才会跟着改变。
string tpcURL = "http://192.168.83.70:8080/tfs/platform";
TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri(tpcURL));
VersionControlServer version = tpc.GetService(typeof(VersionControlServer)) as VersionControlServer; Workspace ws1 = version.CreateWorkspace("WorkSpaceTest1");//创建工作区
Workspace ws3 = version.CreateWorkspace("WorkSpaceTest2", Environment.UserName);//创建工作区,并指定用户 //CreateWorkspace还有如下重载:
//public Workspace CreateWorkspace(string name, string owner);
//public Workspace CreateWorkspace(string name, string owner, string comment);
//public Workspace CreateWorkspace(string name, string owner, string comment, WorkingFolder[] mappings);
//public Workspace CreateWorkspace(string name, string owner, string comment, WorkingFolder[] mappings, string computer);
//public Workspace CreateWorkspace(string name, string owner, string comment, WorkingFolder[] mappings, string computer, bool fixMappingErrors);
//public Workspace CreateWorkspace(string name, string owner, string comment, WorkingFolder[] mappings, string computer, WorkspacePermissionProfile permissionsProfile, bool fixMappingErrors); Workspace[] wss = version.QueryWorkspaces(null, Environment.UserName, Environment.MachineName);//查询工作区
// QueryWorkspaces(string workspaceName, string workspaceOwner, string computer);
// 第一个参数可以为null,即查询指定机器指定用户下的所有工作区。也可以查询远程机器上的。 foreach (var item in wss)
{
Console.WriteLine(item.Name); //工作区名称
Console.WriteLine(item.OwnerName); //用户
Console.WriteLine(item.DisplayName); //工作区显示名称 一般显示格式为:“工作区名称;用户”
Console.WriteLine(item.Computer); //机器名称
Console.WriteLine(item); //机器名称
} version.GetWorkspace("WorkSpaceTest"); //根据名称获取工作区
version.DeleteWorkspace("WorkSpaceTest1", Environment.UserName);//删除工作区
二:Mapping
string serverItem = "$/";
string localItem = "E:\\TFS62"; //声明一个工作目录,让TFS服务器上的路径客户端路径 对应起来。WorkingFolder 继承 Mapping
WorkingFolder wf = new WorkingFolder(serverItem, localItem); ws.CreateMapping(wf); //创建映射。我们也可以这样: ws.Map(serverItem,localItem); ws.IsLocalPathMapped(serverItem); // 判断指定服务端路径是否映射到本地
ws.IsLocalPathMapped(localItem); // 判断指定客户端路径是否映射到服务器 // 如果一个serverItem或localItem 之前已经映像过了可以这样获取
WorkingFolder wf = ws.GetWorkingFolderForServerItem(serverPath);
// 或者
WorkingFolder wf = ws.GetWorkingFolderForLocalItem(localPath); ws.DeleteMapping(wf); //删除映射
TFS二次开发04——工作区(Workspace)和映射(Mapping)的更多相关文章
- TFS二次开发系列索引
TFS二次开发11——标签(Label) TFS二次开发10——分组(Group)和成员(Member) TFS二次开发09——查看文件历史(QueryHistory) TFS二次开发08——分支(B ...
- TFS二次开发-基线文件管理器(5)-源码文件的读取
在上一节中,我们在保存标签之前,已经将勾选的文件路径保存到了Listbox中,这里只需要将保存的数据输出去为txt文档就可以做版本控制了. 版本文件比较复杂的是如何读取,也就是如何通过文件路径 ...
- TFS二次开发系列:三、TFS二次开发的第一个实例
首先我们需要认识TFS二次开发的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection,他们的不同点在于可以获取不同的TFS ...
- TFS二次开发、C#知识点、SQL知识总结目录
TFS二次开发系列 TFS二次开发系列:一.TFS体系结构和概念 TFS二次开发系列:二.TFS的安装 TFS二次开发系列:三.TFS二次开发的第一个实例 TFS二次开发系列:四.TFS二次开发Wor ...
- TFS二次开发系列:七、TFS二次开发的数据统计以PBI、Bug、Sprint等为例(一)
在TFS二次开发中,我们可能会根据某一些情况对各个项目的PBI.BUG等工作项进行统计.在本文中将大略讲解如果进行这些数据统计. 一:连接TFS服务器,并且得到之后需要使用到的类方法. /// < ...
- TFS二次开发的数据统计以PBI、Bug、Sprint等为例(一)
TFS二次开发的数据统计以PBI.Bug.Sprint等为例(一) 在TFS二次开发中,我们可能会根据某一些情况对各个项目的PBI.BUG等工作项进行统计.在本文中将大略讲解如果进行这些数据统计. 一 ...
- TFS二次开发、C#知识点、SQL知识
TFS二次开发.C#知识点.SQL知识总结目录 TFS二次开发系列 TFS二次开发系列:一.TFS体系结构和概念 TFS二次开发系列:二.TFS的安装 TFS二次开发系列:三.TFS二次开发的第一 ...
- TFS二次开发02——连接TFS
在上一篇<TFS二次开发01——TeamProjectsPicher>介绍了 TeamProjectsPicher 对象,使用该对象可以很简单的实现连接TFS. 但是如果我们要实现自定义 ...
- TFS二次开发系列:五、工作项查询
本节将讲述如何查询工作项,用于二次开发中定义获取工作项列表. 使用WorkItemStore.Query方法进行查询工作项,其使用的语法和SQL语法类似: Select [标题] from worki ...
随机推荐
- linux环境安装nagiosgraph将nagios的性能数据绘制成动态图表?
需求描述: 在安装完成nagios之后,比如有监控磁盘负载信息的,连接数的,进程数的,可以通过安装nagiosgraph软件, 将nagios的性能数据绘制成图表,可以看到一段时间内数据的变化 环境说 ...
- nuget类库xml说明以及类库说明文件添加到包中
1.nuget包制作添加xml操作:项目右键属性,生成配置输出xml文档文件,debug,release都配置一下,项目右键 yesway.redis.csproj 文件增加: 添加类库说明文件con ...
- SSL证书/TLS证书是什么
https://blog.csdn.net/donghaixiaolongwang/article/details/79193695 A. SSL协议与TLS是什么?它们的功能是什么? 答:SSL(S ...
- SpringBoot------全局异常捕获
1.添加异常类 package myshop.config; import javax.servlet.http.HttpServletRequest; import org.springframew ...
- WinForm中实现HotKey
最近在写一个游戏辅助工具,来点Win变成的总结 主要用了RegisterHotKey:UnregisterHotKey:两个winAPI 以下代码来自stackoverflow新增了一个HotKeyM ...
- systemctl命令完全指南
Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器. Systemd是一个系统管理守护进程.工具和库的集合,用于取代System V初始进程.Systemd的功能是 ...
- metasploit 中的DB
渗透测试任务中,主机/服务/漏洞等信息如果手动维护,会带来巨大的工作量. 在metasploit中,这部分工作已经被封装的非常好,每次调用内部模块执行的任务结果都会自动存入DB.通过简单的指令即可以方 ...
- Android学习之Gallery
在Android中,画廊控件Gallery用来显示图片列表,可以用手指直接拖动图片左右移动.Gallery只能水平显示一行,且Gallery列表中的图片会根据不同的拖动情况向左或向右移动,直到显示到最 ...
- HttpClient详细解释
Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且 ...
- Windows内存放血篇,突破物理内存的CopyOnWrite
本篇以x86(开启PAE) 以及x64 Win7系统 不借助微软API突破内存的写拷贝机制进行讲述 https://bbs.pediy.com/thread-222949.htm 0x01 B ...