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 下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值