网易首页 > 网易号 > 正文 申请入驻

用 Git 而放弃 Mercurial,浏览器 Firefox 宣布六个月后迁移主存储库!

0
分享至

整理 | 屠敏

出品 | CSDN(ID:CSDNnews)

“同时支持两个版本控制系统的压力真的太大了”,在 Mozilla 团队发出这样的感慨之际,其负责工作流程和发布管理的高级工程经理 Byron “Glob” Jones 在 firefox-dev 邮件列表中发帖正式宣布:

Firefox 浏览器的主存储库将从 Mercurial 迁移到 Git。

Mercurial vs Git

事实上,很长一段时间以来,Firefox 桌面开发一直支持 Mercurial 和 Git 用户。

作为两种不同的分布式版本控制系统(DVCS),Mercurial(通常称为 HG)与 Git 有相似之处,都允许开发者在本地克隆存储库、进行提交、创建分支和合并等操作,而不需要与中央服务器保持持续连接。这使得开发者可以在没有网络连接的情况下继续工作,并且可以更灵活地进行协作。

同时,二者也各有千秋,如:

  • 在数据模型方面,Git 使用快照(snapshot)模型,它在每次提交时记录文件的完整快照,这些快照被组织成树状结构的提交历史;Mercurial 则使用增量(changeset)模型,它在每次提交时记录文件的更改集合,以便从一个版本转换到另一个版本。

  • 在分支模型维度,Git 的分支非常轻量,它使用引用(references)来表示分支,可以很容易地创建、合并和删除分支;而 Mercurial 的分支更重一些,每个分支通常有自己的命名分支头,分支之间不会像 Git 那样轻松合并,通常需要执行显式的合并操作。

  • 命令行工具上,Git 和 Mercurial 都有自己的一组命令行工具,用于执行版本控制操作。这些命令在两者之间有些不同,因此需要学习不同的命令语法和工作流程。

  • 性能上,Git 通常被认为要优于 Mercurial,尤其是在处理大型存储库和执行某些操作(如切换分支)时;而 Mercurial 在某些情况下可能更慢,尤其是在大型存储库中执行某些操作时。

此前,Mercurial 作为管理 Linux 内核源代码的替代工具,常被开发者拿来应对 BitKeeper 免费版本停止支持的情况。不过,后来随着 Linux 之父 Linus Torvald 在消失了一个周末带来了 Git 这个小工具之后,Git 主要就被用于 Linux 内核,而 Mercurial 在其他地方变得流行。

然而,同时维护 Mercurial 和 Git 系统,这种双重 SCM 的要求给已经捉襟见肘的 Firefox 团队带来了沉重的负担。因此他们才做下了放弃 Mercurial 的决定。

迁移方法

按照 Byron “Glob” Jones 在邮件列表中提出的方案,Firefox 团队将分两个阶段完成迁移,其一是面向开发者,其二是后端基础设计的逐步迁移。

第一阶段——面向开发人员

Firefox 团队将把主要存储库从 Mercurial 切换到 Git,同时在开发人员的工作站上取消对 Mercurial 的支持。在这一点上,贡献者只需要在本地使用 Git,并继续使用 moz-phab 提交补丁进行审阅。

所有更改将会提交到 Git 存储库,然后单向同步到 Firefox 现有的 Mercurial 基础设施中。

第二阶段——基础设施

各团队将致力于将基于 Mercurial 的基础设施逐步迁移到 Git。这将分阶段进行,而不是一次性完成。

到此阶段结束时,Firefox 团队将完全取消对 Mercurial 的支持。

当前将 Firefox 主存储库从 Mercurial 迁移到 Git 还处于规划阶段,预计这一举措“在迁移开始之前至少需要六个月”。

最后,Byron “Glob” Jones 也承诺道,“ 我们将继续使用 Bugzilla、moz-phab、Phabricator 和 Lando。尽管我们将在 GitHub 上托管存储库,但我们的贡献工作流将保持不变,目前不接受 Pull 请求。

不受欢迎的 Mercurial 正被逐渐放弃

无独有偶,早在 2019 年,知名代码托管平台 BitBucket 便宣布同样的措施,即从 2020 年 2 月 1 日起,用户创建新仓库时不能用 Mercurial;2020 年6 月 1 日起,全站不再支持 Mercurial 功能,移除所有 Mercurial 仓库。

对于这样做的原因,当时 BitBucket 也给出了解释:

  • 一方面,同时支持 Mercurial 与 Git 两个版本控制系统意味着分散关注点,导致交付时间和技术开销翻倍。

  • 另一方面,由于 Git 是更广泛使用的工具,Mercurial 在扩展时可能存在被忽视的风险。根据 Stack Overflow 开发人员调查,近 90% 的开发人员使用 Git,而 Mercurial 是最不受欢迎的版本控制系统,只有约 3% 的开发人员采用。事实上,Bitbucket 上的 Mercurial 使用量正在稳步下降,而选择 Mercurial 的新 Bitbucket 用户比例已下降至不到 1%。Bitbucket 希望通过放弃 Mercurial 来更加专注地为用户构建最佳体验。

不同的使用体验

在不少开发者看来,现如今 Firefox 全面拥抱 Git,无疑再次证明了 Mercurial 的没落,不过,也给很多开发者带来一丝遗憾。

来自 HN 上的用户 @mark_undoio 评价道:

看到又有一个坚持使用 Mercurial 的人转向 Git,感到有点伤感。后者在网络效应方面领先得多,但我一直更喜欢 Mercurial。我本可以更多地使用它,但是——网络效应的问题,即我所在进行的项目使用了 Git。

主要问题在于,Mercurial 的思维模型符合我的思路,命令行界面是可预测且一贯的,同时这个工具仍然适用于大型代码库。我发现 Git 要求我在使用过程中的不可预测时刻考虑其实现细节和内部术语。它仍然能完成工作,但感觉就像在工作中不时地做随机的验证码。

@sedatk 表示:

我完全同意 Mercurial 卓越的易用性和更简单的思维模型。然而,感觉很被遗弃。我不知道是什么原因造成的。在我看来,它是 Git 的一个完全可行的替代方案。

@cardanome 认为:

在 GitHub 上“全力以赴”意味着让自己依赖于每天都可能改变其条件的 Microsoft 服务。Firefox 依靠谷歌的资金生存已经够糟糕的了,我不明白他们为什么要放弃更多的自由来依赖微软。

你从那些只会因为你在 Github 上而做出贡献的人那里得到的那种省力的贡献无论如何都不是你需要或想要的。

另外,如果他们想要替代方案,Gitlab 无论如何都更适合合作。

与此同时,也有一些开发者发表了不同的看法,如 @klodolph 表示:

当我在工作中使用 Mercurial 时,感觉那些奇怪的小工作流程都被锁在插件后面,让人感到超现实。我明白 Mercurial 对于初学者来说要容易得多,我也明白我可以使用插件,但当我使用 Git 时,所有这些重写历史的工具都恰好在我需要的地方。

最后,你是否使用过 Mercurial 或者 Git,又有什么样的使用体验?欢迎分享你的心得体会。

参考:

https://news.ycombinator.com/item?id=38160161

https://groups.google.com/a/mozilla.org/g/firefox-dev/c/QnfydsDj48o

https://devclass.com/2023/11/07/mozilla-will-move-firefox-development-from-mercurial-to-microsofts-github/

https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
社会分配不公,老百姓的声音

社会分配不公,老百姓的声音

辉哥说动漫
2024-06-18 21:52:32
罕见省部级高干在中央党报公开表达“不满”:困惑很久,不吐不快

罕见省部级高干在中央党报公开表达“不满”:困惑很久,不吐不快

华人星光
2024-06-07 19:20:09
1968年,张大千的四姨太徐雯波,正恭敬地跪在地上拜师

1968年,张大千的四姨太徐雯波,正恭敬地跪在地上拜师

视点历史
2024-06-15 17:59:58
《玫瑰》剧组太过分?刘亦菲抱的娃才出生20天,就用强光怼脸拍!

《玫瑰》剧组太过分?刘亦菲抱的娃才出生20天,就用强光怼脸拍!

每日漓说
2024-06-19 15:45:49
你见过最主动的女生是什么样的?网友们也太会了!

你见过最主动的女生是什么样的?网友们也太会了!

滑稽斑马呀
2024-06-18 18:38:21
黄一鸣支持女儿长大后继承王思聪的财产,晒女儿近照,撞脸王健林

黄一鸣支持女儿长大后继承王思聪的财产,晒女儿近照,撞脸王健林

小李海棠
2024-06-20 05:26:13
你肉体上最痛的一次经历是什么时候?老公走错门发出了杀猪般叫声

你肉体上最痛的一次经历是什么时候?老公走错门发出了杀猪般叫声

热闹的河马
2024-06-19 18:29:02
黄轩终于说实话了,曝光和蒋雯丽真实关系!

黄轩终于说实话了,曝光和蒋雯丽真实关系!

喜欢历史的阿繁
2024-06-19 07:30:12
国际足联考虑给一个特邀名额给大国参加世界杯,国际足联别出心裁

国际足联考虑给一个特邀名额给大国参加世界杯,国际足联别出心裁

英超足球那些事
2024-06-19 11:28:06
网传中山公园地铁站发生捅人事件?上海长宁警方辟谣:系警方抓捕涉嫌盗窃人员,无持刀伤人情况

网传中山公园地铁站发生捅人事件?上海长宁警方辟谣:系警方抓捕涉嫌盗窃人员,无持刀伤人情况

东方网
2024-06-19 21:06:22
两教授在世界顶刊发论文均获百万重奖,是重人才还是“唯论文”?当事人回应

两教授在世界顶刊发论文均获百万重奖,是重人才还是“唯论文”?当事人回应

极目新闻
2024-06-19 11:20:27
网友评选娱乐圈戏路最窄的演员,看了评论区,简直笑麻了

网友评选娱乐圈戏路最窄的演员,看了评论区,简直笑麻了

有趣的羊驼
2024-06-18 18:32:53
胖东来救不了永辉超市

胖东来救不了永辉超市

诗与星空
2024-06-18 08:00:07
美国网红想要知名甜品店赞助婚礼,老板点开她的主页后,气笑了...

美国网红想要知名甜品店赞助婚礼,老板点开她的主页后,气笑了...

北美省钱快报
2024-06-18 01:17:45
普京出访朝鲜之际,北约新秘书长出炉,她出任俄副防长!

普京出访朝鲜之际,北约新秘书长出炉,她出任俄副防长!

新民晚报
2024-06-19 14:45:54
气是方协文给的,快乐是林更新提供的!林更新:骂嘛 ?包回复的

气是方协文给的,快乐是林更新提供的!林更新:骂嘛 ?包回复的

文明娱乐探索
2024-06-19 08:43:11
女主播与住持发生关系,再敲诈获刑!共同作案的老公称要上诉

女主播与住持发生关系,再敲诈获刑!共同作案的老公称要上诉

南方都市报
2024-06-19 20:06:10
重庆市万州区委副书记彭志辉,履任新职务

重庆市万州区委副书记彭志辉,履任新职务

蓝色海边
2024-06-20 00:47:15
终于来了?美联储也是被逼无奈,美国货币战可以宣告失败了

终于来了?美联储也是被逼无奈,美国货币战可以宣告失败了

小宇宙双色球
2024-06-20 01:25:41
王云蕗重新回归女排,曼谷总决赛战日本将出任首发,球迷炸锅!

王云蕗重新回归女排,曼谷总决赛战日本将出任首发,球迷炸锅!

邮轮摄影师阿嗵
2024-06-19 13:37:31
2024-06-20 09:40:49
CSDN
CSDN
成就一亿技术人
24733文章数 241822关注度
往期回顾 全部

科技要闻

美国AI圈震动! “OpenAI宫斗”核心人物苏茨克维官宣创业

头条要闻

美媒:真主党有十几万枚炮弹 或3天摧毁以基础设施

头条要闻

美媒:真主党有十几万枚炮弹 或3天摧毁以基础设施

体育要闻

绿军的真老大,开始备战下赛季了

娱乐要闻

黄一鸣“杀疯了” 直播间卖大葱养孩子

财经要闻

茅台大跌,谁的锅?

汽车要闻

双肾格栅变化大/内饰焕新 新一代宝马X3官图发布

态度原创

艺术
健康
房产
本地
军事航空

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

晚餐不吃or吃七分饱,哪种更减肥?

房产要闻

海棠湾!一所重量级国际学校真的来了!

本地新闻

中式沙拉宇宙的天花板,它必须有姓名

军事要闻

以色列涉嫌在加沙使用重型炸弹 或多次违反战争法

无障碍浏览 进入关怀版