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();
复制代码
相关文章
|
流计算 分布式计算 消息中间件
用Flink取代Spark Streaming!知乎实时数仓架构演进
- 实时数仓 1.0 版本,主题:ETL 逻辑实时化,技术方案:Spark Streaming。 - 实时数仓 2.0 版本,主题:数据分层,指标计算实时化,技术方案:Flink Streaming。 - 实时数仓未来展望:Streaming SQL 平台化,元信息管理系统化,结果验收自动化。
用Flink取代Spark Streaming!知乎实时数仓架构演进
|
Python Windows
升级pip并安装库
今天用pip安装一些常用库,然后出现以下这段代码。 需要升级一下pip
748 0
升级pip并安装库
|
2月前
|
人工智能 云计算
共筑AI产教融合新生态:华中科技大学AI Day成功举办
华中科技大学联合阿里云举办“AI Day”,以“AI+X学科融合与实践创新”为主题,通过教师研讨会与学生实训营,推动人工智能教育改革与产教融合,共筑高校AI人才培养新生态。
|
2月前
|
传感器 人工智能 数据可视化
AI 驱动的 AR眼镜巡检技术方案:让工业缺陷识别更精准高效|阿法龙XR云平台​
针对电力、化工、制造等高风险场景,传统人工巡检效率低、漏检率高。我们推出AI+AR智能巡检方案,集成高清视觉与多传感器数据,采用轻量化YOLOv8-Nano和ResNet50模型实现缺陷实时检测与分级,结合ORB-SLAM3空间定位,在AR眼镜中精准叠加缺陷标注,识别准确率超95%,效率提升50%以上,助力巡检智能化、可视化、可追溯。
|
4月前
|
存储 运维 前端开发
如何开发设备管理系统中的设备维护管理板块 ?(附架构图+流程图+代码参考)
设备管理系统中的维护管理是企业高效运营的关键。本文详解设备维护管理模块的设计与实现,涵盖功能规划、业务流程、技术方案及开发技巧,助力企业构建科学的设备维护体系,提升设备利用率与生产效率。
|
10月前
|
人工智能 Java 程序员
一文彻底搞定电阻元件
电阻元件是限流器件,通过其电流与两端电压成正比(V=IR),阻值受温度、材料等影响。按特性分为线性与非线性,材料上有碳膜、金属膜等,用途涵盖限流、分压、偏置、滤波等。标称阻值有允许偏差,额定功率和最高工作电压需注意。色标法和直接读取法可用于识别阻值,万用表测量时需关闭电源并选择合适量程。电阻在电路设计中不可或缺,掌握其特性和应用对电子工程师至关重要。
692 0
一文彻底搞定电阻元件
|
监控 安全 数据挖掘
这些屏幕监控软件一键轻松监控员工,速来试用
本文介绍了几款顶级屏幕监控软件,如WorkWin和Teramind,用于提升团队效率和保障企业安全。WorkWin提供远程控制、USB管理、权限分配等功能,确保合规运营和信息安全。Teramind能监控员工应用使用,发送实时警报,并进行数据分析。而ActivTrak则有实时屏幕监控和详细分析报告,帮助管理者优化工作流程。这些工具助力企业有效管理团队,提高生产力。
453 4
|
敏捷开发 存储 监控
6款主流办公协同软件大比拼:哪款工具最适合企业协作?
在现代企业中,团队协作是高效运作的核心。本文分析了协同工作的常见难点,如沟通不畅、任务跟踪困难和工具孤立,并推荐了6款主流办公协同软件:板栗看板、Trello、Notion、Monday.com、Asana和Slack。每款软件都有其独特优势,适合不同类型和规模的团队。通过功能、易用性和应用场景的评测,帮助企业找到最适合的工具。
551 4
6款主流办公协同软件大比拼:哪款工具最适合企业协作?
|
人工智能 自然语言处理 测试技术
文生图参数量升至240亿!Playground v3发布:深度融合LLM,图形设计能力超越人类
【10月更文挑战第29天】Playground v3(PGv3)是最新发布的文本到图像生成模型,其在多个测试基准上取得了最先进的性能。与传统模型不同,PGv3采用了一种全新的结构,将大型语言模型与图像生成模型深度融合,展现出卓越的文本提示遵循、复杂推理和准确的文本渲染能力。此外,PGv3还具备超越人类的图形设计能力,支持精确的RGB颜色控制和多语言理解,为设计师和创意工作者提供了强大的工具。尽管存在一些挑战,但PGv3的发布标志着文本到图像生成技术的重大突破。
279 6
|
12月前
|
网络协议 网络性能优化
第十二问:TCP慢起动详细解释
TCP的慢启动是其拥塞控制的一部分,旨在防止网络拥塞。在连接建立初期,TCP逐步增加发送的数据量,通过接收方的ACK确认来调整拥塞窗口(cwnd)。初始阶段cwnd较小,每收到一个ACK,cwnd增加1个MSS,发送速率大致翻倍。当cwnd达到慢启动阈值(ssthresh)时,进入拥塞避免阶段,cwnd改为线性增长。若发生数据丢失或网络拥塞,TCP会减小cwnd,重新进入慢启动。慢启动通过动态调整发送速率,确保网络不被瞬时大流量压垮。