由于近期围绕着有关 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 个工作方向:
- 我们在改善 web 端的版本控制 UI 上进行了大量的工作,目前已经可以实现 web 编辑、签入、删除等操作。我们已经在 TFVC 中加入了这些特性。
- 我们加入了对“欢迎页面”的支持,这实际上就是一种 wiki 页面。这一功能也加入到 TFVC 中了。
- 我们已经在 TFVC 中实现了 CodeLens 指示符功能,其中有些功能只能在 TFVC 中使用,例如“传入更改”指示符。
- Build.Vnext 将支持 TFVC。
- 我们正在打造一种全新的代码搜索体验。虽然目前在未公开的预览版本中只支持 Git,但我们会在正式版推出之前加入对 TFVC 的支持。
- 我们正在致力于改善代码审查功能,其中包括对迭代式代码审查的支持、在 web 端实现代码审查、通过内联注释功能提高代码审查在 VS 中的体验等等。以上这些功能都将同时支持 TFVC。
- 我们最近为 Mac/Linux 上的 Team Explorer Everywhere 添加了在 TFVC 中使用超过 260 个字符的本地路径的支持,这个问题已经被抱怨过很多次了。
- 而工作量最大的一部分是让 TFVC 完整地支持在团队项目中进行重命名操作。为了实现这一点,我们对引擎中的某些核心功能进行了改动。
- 我们也正在努力实现在同一个团队项目中同时支持 TFVC 与 Git 两种版本控制功能,以实现更好的共存性,但实现这一点需要在 TFVC 端进行某些工作。
Alexandr Biryukov 是一名 TFVC 用户,他列举了另外四个他认为需要进行改善的方向。
- 改善合并功能(启用内容特定、减少重命名产生的冲突、避免向后进行空合并等等)
- 服务器端的签入策略(跨平台、不依赖于本地的 DLL、易于更新及部署)
- 改善分支功能(分解分支、重命名时不产生历史等等)
- 迁移——以一种对用户友好的方式将代码从 Git 迁移到 TFVS,或者反之(包含历史)
评论