10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

TFS 版本控制的未来

  • 2015-04-06
  • 本文字数:1251 字

    阅读完需:约 4 分钟

由于近期围绕着有关 Visual Studio 与 Team Foundation Server 对 Git 的支持的新闻不断涌现,因此不难理解许多开发者认为 TFVC,即 TFS 中的集中式版本控制系统这个项目已经行将就木了。令这个问题雪上加霜的是微软的一贯做法,他们已经习惯于在没有任何宣布与预警的情况下,直接将某些产品切换为“维护”模式,并且直接解散其开发团队。

但对于 TFVC 来说,事实并非如此。实际上,在 Visual Studio Online 所创建的全部新项目中,使用 TFVC 的比例仍然高于使用 Git 的比例。 Brian Harry 这样写道

我们的大多数客户仍然在项目中使用 TFVC,而我们也十分重视这一点。微软的大多数团队仍然使用 TFVC,而如今在 VS Online 上所创建的大多数新项目也选择了 TFVC。毫无疑问的是,即使如此,我们还是看到某种转变正在发生。Git 的占有率在不断提高,而且我绝对相信它的占有率还会继续提高。甚至在这种情形持续几年之后,Git 的占有率可能会超过 50% 这个分水龄,我无法断言,但这很有可能。但不管怎样,使用 TFVC 的用户数量依然会有几十万、乃至数百万。在今后的很长一段时间之内,TFVC 对于我们来说依然非常重要。

微软相信 TFVC 的核心功能已经非常成熟与稳定了,因此他们的工作重心专注于一些边缘特性。在 Brian 的博客帖子中,他列举了微软如今在 TFVC 上的 9 个工作方向:

  1. 我们在改善 web 端的版本控制 UI 上进行了大量的工作,目前已经可以实现 web 编辑、签入、删除等操作。我们已经在 TFVC 中加入了这些特性。
  2. 我们加入了对“欢迎页面”的支持,这实际上就是一种 wiki 页面。这一功能也加入到 TFVC 中了。
  3. 我们已经在 TFVC 中实现了 CodeLens 指示符功能,其中有些功能只能在 TFVC 中使用,例如“传入更改”指示符。
  4. Build.Vnext 将支持 TFVC。
  5. 我们正在打造一种全新的代码搜索体验。虽然目前在未公开的预览版本中只支持 Git,但我们会在正式版推出之前加入对 TFVC 的支持。
  6. 我们正在致力于改善代码审查功能,其中包括对迭代式代码审查的支持、在 web 端实现代码审查、通过内联注释功能提高代码审查在 VS 中的体验等等。以上这些功能都将同时支持 TFVC。
  7. 我们最近为 Mac/Linux 上的 Team Explorer Everywhere 添加了在 TFVC 中使用超过 260 个字符的本地路径的支持,这个问题已经被抱怨过很多次了。
  8. 而工作量最大的一部分是让 TFVC 完整地支持在团队项目中进行重命名操作。为了实现这一点,我们对引擎中的某些核心功能进行了改动。
  9. 我们也正在努力实现在同一个团队项目中同时支持 TFVC 与 Git 两种版本控制功能,以实现更好的共存性,但实现这一点需要在 TFVC 端进行某些工作。

Alexandr Biryukov 是一名 TFVC 用户,他列举了另外四个他认为需要进行改善的方向。

  • 改善合并功能(启用内容特定、减少重命名产生的冲突、避免向后进行空合并等等)
  • 服务器端的签入策略(跨平台、不依赖于本地的 DLL、易于更新及部署)
  • 改善分支功能(分解分支、重命名时不产生历史等等)
  • 迁移——以一种对用户友好的方式将代码从 Git 迁移到 TFVS,或者反之(包含历史)

查看英文原文 On the Future of TFS Version Control

2015-04-06 08:404370
用户头像

发布了 428 篇内容, 共 194.7 次阅读, 收获喜欢 39 次。

关注

评论

发布
暂无评论
发现更多内容

顶象App加固保障互联网+医疗安全与合规

极客天地

【源码分析】【netty】FastThreadLocal为什么快?

如果晴天

源码分析 Netty 多线程 并发 netty

ChatGPT系统开发AI人功智能方案

Congge420

AI Gallery ChatGPT 人工智能ChatGPT 吗?

吉林省网络安全等级测评机构有哪些?在哪里?

行云管家

网络安全 等级保护 吉林

厚积薄发|迭代为什么叫冲刺?

CODING DevOps

DevOps 敏捷 软件工程

IPP Swap孵化器/LP挖矿系统开发方案

Congge420

区块链 ipfs挖矿用什么app

火山引擎DataLeap:3步打造“指标管理”体系,幸福里数据中心是这么做的

字节跳动数据平台

大数据 字节跳动 数据管理 指标管理 数据研发

如何用一行代码实现监测 OpenAI,大幅提升使用体验

Yestodorrow

可观测性 用户体验 应用性能 ChatGPT

一文掌握 Go 并发模式 Context 上下文

陈明勇

Go golang 后端 Context 上下文

LP流动性挖矿/算力系统开发源码搭建

Congge420

区块链 系统开发 云算力挖矿系统开发详解 云算力模式系统开发源码

Makefile常用命令详解

小万哥

c++ 程序员 面试 后端 makefile

教你使用Feign替换RestTemplate

融云跨平台 SDK 自动生成技术的探索和实践

融云 RongCloud

sdk 融云 办公效率 通讯 图片资源

开源7天Github斩获4.5万Stars!阿里2023版高并发设计实录鲨疯了

Java 架构 微服务 系统设计 高并发

Python从0到1丨图像增强的顶帽运算和底帽运算

华为云开发者联盟

Python 人工智能 华为云 华为云开发者联盟 企业号 5 月 PK 榜

AE插件 真实地图路径绘制GEOlayers 3 Mac v1.5.7

真大的脸盆

Mac Mac 软件 AE插件 地图路径插件

DevOps 的道术法器,探寻 DevOps “立体化”实践之旅

CODING DevOps

DevOps 软件工程 CODING DevOps

车载手势识别技术:未来交通的革命性解决方案

数据堂

常用的表格检测识别方法-表格区域检测方法(上)

合合技术团队

人工智能 深度学习 文字识别 表格识别 表格检测

行业分析| 快对讲-融合会议的应用

anyRTC开发者

音视频 视频会议 快对讲 融合会议 电话会议

架构实战-毕业设计

程序员小张

「架构实战营」

NFT元宇宙链游系统开发逻辑分析

Congge420

区块链 NFT链游 元宇宙链游

城市开发者平台:程序员成长和创新的“家园”

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号 5 月 PK 榜

SaaS 产品如何选择设计协作工具?

CODING DevOps

敏捷 设计 SaaS CoDesign 团队协作工具

软件测试/测试开发丨Python学习笔记之基本数据类型与操作

测试人

Python 软件测试 测试开发 数据类型

在研制带处理器的电子产品时,如何提高抗干扰能力和电磁兼容性?

华秋PCB

电磁 电路 处理器 控制器 抗干扰

LeetCode题解:136. 只出现一次的数字,排序后搜索,JavaScript,详细注释

Lee Chen

LeetCode

部分等保政策相关专业术语英文翻译汇总

行云管家

等保 等级保护 等保2.0

数字城市发展下的技术趋势,你了解多少?

没有用户名丶

火山引擎DataTester分享:A/B实验中常见的8个错误

字节跳动数据平台

知识拷问:工作站和服务器哪个更适合做CST电磁仿真?

思茂信息

仿真软件 cst cst使用教程 cst电磁仿真 cst仿真软件

TFS版本控制的未来_文化 & 方法_Jonathan Allen_InfoQ精选文章