技术前瞻、沉浸式体验、人脉拓展......开发者必打卡的技术峰会来啦! 了解详情
写点什么

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

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

关注

评论

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

使用transform制作书本翻页效果

空城机

JavaScript 大前端 4月日更 书本翻页

MySQL性能监控与调优

Sakura

4月日更

Rust从0到1-枚举-match控制流

rust 枚举 match

Google Analytics

曦语

数据分析

很坑的Could not transfer artifact报错

01Running

maven Mac IDEA

Linux df 命令

一个大红包

linux命令 4月日更

13年Java开发经验精华总结!29大核心知识模块,带你直达架构师!

Java架构追梦

Java 阿里巴巴 架构 全栈知识点

与同事组队,用 3s 把工作节点打通,建立信赖与协作关系。

叶小鍵

深入浅出带你掌握线程、多线程和线程池

华为云开发者联盟

Java 线程 多线程 线程池 操作系统

百度联合清华,全球首个十亿像素数据集来了!

百度大脑

人工智能 百度

量化合约交易机器人系统开发|量化合约交易机器人APP软件开发

系统开发

微擎的日志文件保存在哪里?如何查看。

微擎应用商城

我们真的可以使世界成为无密码的地方吗?

龙归科技

网络 安全性

web简易视频聊天室+媒体流插入

anyRTC开发者

大前端 音视频 WebRTC RTC

合约量化机器人系统开发|合约量化机器人软件APP开发

系统开发

【LeetCode】删除排序链表中的重复元素Java题解

Albert

算法 LeetCode 4月日更

征服耶鲁教授的算法大神程序媛,是如何践行“以人为本”开发智慧社区大脑的?

华为云开发者联盟

算法 音视频 智慧社区 华为智慧园区数字平台 数字平台

vue2的$refs在vue3组合式API中的替代方法

devpoint

Vue3 $refs vue2 this.$refs

聪明人的训练(十六)

Changing Lin

4月日更

HTTPS双向认证

上海派拉基础研发

https HTTP ssl SSL 连接

5分钟教你学会GaussDB数据分布策略设计

华为云开发者联盟

数据库 分布式数据库 GaussDB GaussDB(for openGauss) 数据分布

量化合约机器人APP开发|量化合约机器人软件系统开发

系统开发

这份阿里P8大佬手写的 “Java核心面试精选” 疯传阿里内网

码农之家

Java 编程 程序员 互联网 面试

11 个非常实用的 Python 和 Shell 拿来就用脚本实例!

JackTian

Python 程序员 Shell linux运维 脚本语言

Kafka源码阅读笔记(1)

InfoQ_Springup

kafka

拍乐云入选 2021 爱分析·产业数字化厂商全景报告

拍乐云Pano

RTC

合约量化交易机器人系统开发|合约量化交易机器人APP软件开发

如何利用ipad随时随地开发代码

程序员石磊

ipad 编程 远程

使用Python映射,过滤和缩减函数:所有您需要知道的

华为云开发者联盟

Python 函数 映射 内置函数

1分钟get什么是训练数据

澳鹏Appen

人工智能 机器学习 大数据 数据集

十大经典系统架构设计面试题

程序员石磊

架构 面试 架构设计

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