开发者社区> 橘子红了呐> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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();
复制代码



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【青训营】CSS(二)
【青训营】CSS(二)
17 0
es文档版本控制
es文档版本控制如何实现?
199 0
ECS运维神器重装上阵,云助手亮相控制台
前段时间,我们的运维神器---阿里云云助手,已经通过OpenAPI的形式发布给广大用户。近来,我们根据广大用户的反馈,对其进行了优化,改进,增加了控制台的UI界面,使其变的更直观,更易用。
4520 0
Git 版本控制
1. 设置代理 git config --global http.proxy http://localhost:1080 git config --global https.
681 0
程序猿(媛)们注意啦!Git、SVN、Mercurial版本控制系统被爆远程命令执行漏洞
近日,三款主流的源版本控制系统Git、Subversion (svn)、Mercurial,发布了更新补丁,修复了一个客户端代码执行漏洞。 恶意的攻击者可以向受害者发送一条精心构造的ssh:// URL链接,当受害者访问这条URL则会触发漏洞导致执行恶意代码。
4639 0
ECS控制台使用小贴士
很多的用户在使用云服务器的时候都通过云服务器的名称和描述信息来进行资源分组,这里的弊端是一个云资源只支持一个名称和描述。批量管理云服务器的时候一个重要的任务就是资源分组。为了方便的资源管理,云服务器有一个重要的概念就是标签。
51139 0
缓存系列文章--4.缓存的粒度控制
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678      一、什么是缓存粒度       下面这个图是很多项目关于缓存使用最常用的一个抽象,那么我们假设storage层为mysql, cache层为redis。
773 0
十五天精通WCF——第六天 你必须要了解的3种通信模式
原文:十五天精通WCF——第六天 你必须要了解的3种通信模式         wcf已经说到第六天了,居然还没有说到这玩意有几种通信模式,惭愧惭愧,不过很简单啦,单向,请求-响应,双工模式,其中的第二种“请求-响应“ 模式,这个大家不用动脑子都清楚,这一篇我大概来分析下。
934 0
3402
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载