写点什么

放弃 SVN,苹果 WebKit 迁移到 GitHub

  • 2022-09-02
    北京
  • 本文字数:1301 字

    阅读完需:约 4 分钟

放弃SVN,苹果WebKit迁移到GitHub

版本控制系统 (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

2022-09-02 15:5411550
用户头像
罗燕珊 AI practitioner | Tech media

发布了 506 篇内容, 共 353.9 次阅读, 收获喜欢 816 次。

关注

评论 2 条评论

发布
用户头像
Linus 才是这个世界上唯一会编写程序的人,其它人都是学习他。
2022-09-05 14:53 · 浙江
回复
用户头像
Linus 才是这个世界上唯一会编写程序的人,其它人都是学习他。
2022-09-05 07:23 · 广东
回复
没有更多了
发现更多内容

从深海探测到海洋强国:数字孪生助力海洋装备跨越式发展

DevOps和数字孪生

【体验官招募】SoFlu - JavaAI 开发助手:开启智能开发新时代

飞算JavaAI开发助手

程序员 有奖活动 Java. AI编程

SpringBoot 实现动态插拔的 AOP,太实用了!

采菊东篱下

Java spring

从12月份开始背Java后端面试八股文也不算晚

采菊东篱下

编程 java面试

Sora 文生视频技术大揭秘:能力惊艳但局限几何?

测试人

软件测试

平凯星辰亮相开放原子开发者大会,TiDB 荣获年度活跃开源项目奖项

PingCAP

开源 分布式 TiDB 数据库、

Omi NTFS磁盘专家 for Mac(NTFS 磁盘读写工具)

Mac相关知识分享

Parallels Desktop 18 for Mac(Pd虚拟机软件)

Mac相关知识分享

Tower for Mac( Git 客户端软件)

Mac相关知识分享

Sound Control for Mac( 音频控制软件)

Mac相关知识分享

Final Cut Pro for Mac(fcpx视频剪辑)专业视频编辑软件

Mac相关知识分享

如何提升大模型的“深度思维能力”

阿里技术

大模型 大语言模型 思维能力 智能引擎

如何控制bean的加载顺序?

EquatorCoco

C#

你不知道的 7 项 CSS 新功能

伤感汤姆布利柏

AI算力要变天了?一文搞懂ASIC和GPU

Finovy Cloud

gpu 算力 AI算力 ASIC

QCN9024 WiFi 6E Card with ath11k Support Exploring the Versatility

wifi6-yiyi

ath11k

盘点这些年搭建器在用户体验优化的实践|得物技术

得物技术

前端 性能优化、

不懂代码的人也可以5分钟完成一个简单的支付页面(含使用教程)

cloud studio AI应用

观测云产品更新 | 自动编写 Pipeline、AI 告警聚合、生成指标优化等

观测云

产品迭代

全国范围AOI数据2024年12月更新,共计超过305万个,最完整的地理要素数据库(AOI数据更新系列)

Geek_f9782a

AOI 全国AOI数据

鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II

少湖说

flutter 鸿蒙系统 harmoyos

Cellebrite Inseyets PA 10.4 - 取证数据分析软件

sysin

Inseyets PA

Spring Event 别瞎用!被它坑的绩效都没了!

架构师之道

Java spring

「地平线」副总裁余轶南与「理想汽车」智驾产品总监赵哲伦联手创业,入局具身智能赛道!

机器人头条

自动驾驶 人形机器人 具身智能 地平线

这个冬天,我们一起升级吧

最新动态

备战春招,大厂高频精选Java面试八股文整理(附答案)

架构师之道

编程 java面试

代码人生-精选文章周刊

安全乐谷

互联网 职场 心理学 找工作 招聘

RAG+Prompt,AI编程从需求到代码

cloud studio AI应用

百度联合研究会打造“文心快码”无障碍版本,助力视障开发者就业无“碍”

信息无障碍研究会

产品 程序员、 开发. AI编程 无障碍适配

升级鸿蒙NEXT,流畅、安全、便捷,一步到位

最新动态

Bettertouchtool for Mac(触摸板增强工具)

Mac相关知识分享

放弃SVN,苹果WebKit迁移到GitHub_文化 & 方法_罗燕珊_InfoQ精选文章