写点什么

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:404005
用户头像

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

关注

评论

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

别错过!4C首发直播,上届全国总冠军带你入门赛题

飞桨PaddlePaddle

计算机 飞桨 PaddlePaddle

优质的双机热备软件厂家是哪家?咨询电话多少?

行云管家

高可用 双机热备 双机热备软件

社招前端一面必会vue面试题

bb_xiaxia1998

Vue

一图读懂阿里云RDS架构与选型

NineData

数据库 阿里云 Serverless RDS arm

滴滴前端一面常考手写面试题合集

helloworld1024fd

JavaScript

听说 ChatGPT 推荐了一场技术活动,就在本周六的北京?

Daocloud 道客

北京 技术活动

面试官:能用JavaScript手写一个bind函数吗

helloworld1024fd

JavaScript

FDF循环互助智能合约开发系统搭建

薇電13242772558

智能合约

每日一题之Vue数据劫持原理是什么?

bb_xiaxia1998

Vue

一台不容错过的Java单元测试代码“永动机”

京东科技开发者

Java 单元测试 京东云 京东技术

混沌工程之 ChaosBlade 故障注入百宝箱

柠檬汁Code(binbin0325)

源码分析 混沌工程 故障注入 ChaosBlade Chaos

火山引擎数智平台ByteHouse入围稀土掘金《Top10年度创新产品》

字节跳动数据平台

大数据 云原生 Clickhouse

预告| 2月24日不见不散!开源治理专场约定你

OpenI启智社区

人工智能 开源社区 开发者大会 开源治理 OpenI启智社区

React源码分析6-hooks源码

goClient1992

React

百度工程师浅谈分布式日志

百度Geek说

分布式 运维 日志 百度文库 企业号 2 月 PK 榜

在vue的v-for中,key为什么不能用index?

bb_xiaxia1998

Vue

云原生观测性--OpenTelemetry 之实战篇

Daocloud 道客

云原生 可观测性 OpenTelemetry

云业务成本的组成与管理趋势

SEAL安全

云服务 云成本 FinOps 企业号 2 月 PK 榜

NFT链游开发实现DAPP系统落地

薇電13242772558

NFT 链游

快学会这个技能-.NET API拦截技法

沙漠尽头的狼

hook harmony .NET API拦截 拦截 伪造

ChatGPT 入门案例|商务智能对话客服(四)| 社区征文

TiAmo

AI ChatGPT

软件测试/测试开发 | App常见bug解析

测试人

软件测试 自动化测试 测试开发 app测试

React源码分析7-state计算流程和优先级

goClient1992

React

Hadoop 及Spark 分布式HA运行环境搭建

京东科技开发者

大数据 hadoop spark 后端 企业号 2 月 PK 榜

有哪些值得推荐的敏捷开发工具❓

没有用户名丶

预告| 亮点抢先看!第四届OpenI/O启智开发者大会主论坛24日启幕!

OpenI启智社区

人工智能 开发者大会 算力网络 OpenI启智社区

面试官:请实现Javascript发布-订阅模式

helloworld1024fd

JavaScript

美团前端常考手写面试题总结

helloworld1024fd

JavaScript

高级前端二面必会vue面试题合集

bb_xiaxia1998

Vue

即刻报名!飞桨黑客马拉松第四期如约而至,等你挑战

飞桨PaddlePaddle

深度学习 paddle 开源 大赛 飞桨

基金行业,镭速文件传输系统方案

镭速

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