放弃 SVN,苹果 WebKit 迁移到 GitHub

2022 年 9 月 6 日 InfoQ

作者 | 罗燕珊

控制系统 (VCS),又叫修订控制或源控制系统,是一种软件实用程序,用于跟踪和管理对文件系统的更改。几乎所有软件的代码的备份、历史追踪、协同编辑等任务都需要版本控制系统完成。

从最早本地 VCS 系统 RCS、1990 年 CVS、2000 年 SVN(Subversion),到如今开源世界风头正健的 Git,同语言编辑工具一样,SVN、Git 都是程序员的必备利器。近些年,随着 GitHub 的流行,很多软件纷纷转向 Git。

8 月 31 日,苹果 WebKit 项目运营工程师 Jonathan Bedard 发布博文称,在今年 6 月 23 日,WebKit 项目冻结了 Subversion 树,迁移到托管在 GitHub 的 Git 源代码管理系统。

为什么选择 Git?

WebKit 原先使用 Apache 的源代码管理系统 SVN,这次之所以迁移,是因为 WebKit 社区意识到了 Git 分布式特性的重要性和其庞大的社区。

SVN 是集中式的系统,而 Git 的分布式特性使开发人员在项目协作方式方面更加灵活,允许多个组织协作。

“Git 的本地提交消息记录,以及 Git 日志将提交历史限制在存储库的某些部分的能力,意味着大型项目不再需要在每次提交时检查过时的 ChangeLog 文件,” Bedard 说。

而且,WebKit 项目的许多新贡献者更倾向于在 git-svn 镜像上工作,当涉及到现有的工具和工作流程时,这样的转换也被视为理所当然的。

Bedard 进一步表示,“选择托管在 GitHub 是因为它有庞大的 Web 开发者社区,WebKit 项目能与他们密切合作以改进引擎。我们还发现,GitHub 的 API 让我们只需对现有的基础设施进行相对较小的修改,就能建立起先进的预提交和后提交自动化,并提供一个现代且安全的平台来审查和提供有关新代码更改的反馈。”


迁移是好事吗

用户可能会发现苹果此举令人沮丧的是,Git 哈希值并不是自然排序的,所以 WebKit 团队决定在需要分叉的工作流程中使用他们所谓的“提交标识符(commit identifiers)”。WebKit 有一个“零容忍性能退步”政策,这意味着,能够轻松推理出存储库中的提交顺序是至关重要的。

许多开发者都在问为什么这样的迁移需要这么长时间,并不是所有的人都认为这是一个好主意。

“仅在今年,GitHub 就发生了 50 多次故障,而且在追索方面也有糟糕的历史,限制受美国贸易制裁国家的开发者。如果‘WebKit 项目对世界各地的开发者的贡献和反馈感兴趣’,那么切换到 GitHub 是没有意义的。”一位用户在 HackerNews 论坛上评论道。

还有人表示,即使最终项目发展会变成更顺利,但过渡到 Git 的过程也是场噩梦。

但也正如一位用户所说:“鉴于 GitHub 是一个被普遍理解的主机,而且它有人们喜欢的所有 UI/ 开发集成,所以使用它是有意义的。另外,拥有 GitHub 账户的人似乎越来越多,因此贡献者不必再创建另一个帐户来提供其他服务。”

Git 由 Linus 在 2005 年开发而来,演化至今已经成为了最流行和最先进的开源版本控制工具,不过仍然有很多的公司和团队还在使用 SVN 或者 CVS 对项目进行版本控制,部分公司确实有一些可能合理的原因来维持现状,但是使用 Git 在绝大多数的场景下确实能让我们的开发和合作变得更加高效。

参考链接:

https://webkit.org/blog/13140/webkit-on-github/

https://www.theregister.com/2022/09/01/webkit_migrates/

https://www.infoq.cn/article/ahoxlss6g153hod0y5iz

点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!

今日好文推荐

缺少软件开发文化,大众汽车陷入困境,CEO 也被赶下了台

我庆幸果断放弃了 SwiftUI:它还不够成熟

英伟达回应“对中国断供部分高端 GPU”;月薪 3.6 万工程师日均写 7 行代码被开;12 年黑进 40 多家金融机构老板赚百万获刑 |Q 资讯

在阿里达摩院搞了四年数据库,我来聊聊实际情况 | 卓越技术团队访谈录

登录查看更多
0

相关内容

Subversion(SVN)是一个开放源代码的版本控制系统。
代码注释最详细的Transformer
专知会员服务
110+阅读 · 2022年6月30日
专知会员服务
27+阅读 · 2021年6月18日
专知会员服务
43+阅读 · 2021年5月19日
【干货书】Pytorch自然语言处理,210页pdf
专知会员服务
164+阅读 · 2020年10月30日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【CVPR2020-Facebook AI】前置不变表示的自监督学习
专知会员服务
46+阅读 · 2020年4月19日
迁移进行时,告别GitHub的时候到了?
InfoQ
0+阅读 · 2022年7月10日
苹果将造搜索引擎?
CSDN
0+阅读 · 2022年6月10日
iPhone 越狱商店创建者,起诉了苹果
ZEALER订阅号
0+阅读 · 2022年5月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
7+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2022年11月29日
A Survey on Edge Intelligence
Arxiv
50+阅读 · 2020年3月26日
Arxiv
11+阅读 · 2018年1月11日
VIP会员
相关VIP内容
代码注释最详细的Transformer
专知会员服务
110+阅读 · 2022年6月30日
专知会员服务
27+阅读 · 2021年6月18日
专知会员服务
43+阅读 · 2021年5月19日
【干货书】Pytorch自然语言处理,210页pdf
专知会员服务
164+阅读 · 2020年10月30日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【CVPR2020-Facebook AI】前置不变表示的自监督学习
专知会员服务
46+阅读 · 2020年4月19日
相关基金
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
7+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员