delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

27 Dec 2020

FreeBSD终于换了git

FreeBSD 最近终于完成了从 subversion 到 git 的转换(其实还没算彻底完成,不过 src/ 和 doc/ 都已经完成了)。

我个人用 git 用了蛮久了,最早开始严肃地用 git 大概是2012年年底 Illumos 从 hg 换成 git 的时候的事情,当时 FreeNAS 的开发也从 subversion 迁移到了 git,后来,我们也把 FreeNAS 内嵌的 FreeBSD 的开发搬到了 git 上面。

这次迁移显著地改善了工作效率,这个主要是因为 git 在管理补丁包方面比 subversion 要强很多,例如,当时我们在 iXsystems 的工作模式是尽可能将本地的改动放回 FreeBSD,因此能够迅速在本地做,而不是问服务器要 diff 并完成合并就十分重要。另一方面,当时我们需要维护多个不同的系列,在这些系列之间做 cherry-pick 要比 subversion merge 快很多,特别是需要合并一系列变动的时候。

换用 git 之后,FreeNAS 收到的来自社区的贡献也显著增加了(毕竟在本地开个新的分支然后merge或rebase要比在本地 subversion 副本强太多了)。