zoukankan      html  css  js  c++  java
  • 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 下载

  • 相关阅读:
    SpringMVC之五:自定义DispatcherServlet配置及配置额外的 servlets 和 filters
    DTP模型之一:(XA协议之三)MySQL数据库分布式事务XA优缺点与改进方案
    Spring Bean基本管理--bean注入方式汇总
    类装载器ClassLoader
    spring中的BeanFactory与ApplicationContext的作用和区别?
    Spring IoC,IoC原理
    mybatis实战教程(mybatis in action)之九:mybatis 代码生成工具的使用
    session.write类型引发的思考---Mina Session.write流程探索.doc--zhengli
    MyBatis的association示例——MyBatis学习笔记之三
    MyBatis一对多双向关联——MyBatis学习笔记之七
  • 原文地址:https://www.cnblogs.com/chengxingliang/p/3238724.html
Copyright © 2011-2022 走看看