WebKit 宣布把开发从Subversion迁移到Github上用Git开发

6 月 23 日,WebKit 项目冻结了它的 Subversion 树,并将管理和与我们的源代码的交互转移到git了GitHub 上。

为什么git?

git的分布式特性不仅使多个开发人员,而且使多个组织可以轻松地在单个项目上进行协作。 git的本地更改记录使得在分支之间移动提交或恢复更改变得简单快捷。git的作者和提交者模型很好地代表了像 WebKit 这样的大型软件项目编写和管理代码的复杂方式。git的本地提交消息记录,以及git log将提交历史限制到存储库某些部分的能力,意味着大型项目不再需要在每次提交时签入过时的 ChangeLog 文件。

除了git's 的优势之外,它在软件工程中的普遍性意味着 WebKit 项目的大多数新贡献者发现自己git-svn已经更喜欢从 WebKit 项目的镜像中工作,因此将我们的项目转变为完全git与现有工具和工作流一起工作。这也意味着 WebKit 团队将有许多与git.

为什么选择 GitHub?

WebKit 项目对来自世界各地的开发人员的贡献和反馈感兴趣。GitHub 拥有一个非常庞大的开发人员社区,尤其是 Web 开发人员,WebKit 项目与他们密切合作以改进引擎,将这些开发人员的创作带到世界各地的用户手中。我们还发现 GitHub 的 API 让我们可以通过对现有基础架构进行相对较小的修改来构建高级的提交前和提交后自动化,并提供一个现代且安全的平台来审查和提供有关新代码更改的反馈。

维持秩序

一个缺点git是git哈希不是自然排序的。WebKit 团队发现,轻松推断存储库中提交顺序的能力对于我们的零容忍性能回归策略至关重要。我们决定在需要二分的工作流程中使用我们所谓的“提交标识符”。

在main分支上,提交标识符是提交拥有的祖先数量的计数。在 的分支上main,提交标识符是上的祖先main数量与分支上的祖先数量相结合。提交标识符可以通过git rev-list --count onmain和git rev-list --count main..on 分支计算。

WebKit 团队开发了一些简单的工具来处理提交标识符,最值得注意的是Tools/Scripts/git-webkit(提供git与标识符兼容的命令)和commits.webkit.org(用于在不同提交表示之间进行转换的简单 Web 服务)。我们所有的提交都通过commits.webkit.org链接将他们的提交标识符嵌入到他们的提交消息中。我们已经详细概述了提交标识符如何在 GitHub wiki 的源代码控制页面上工作。

你可以贡献!

我们总是欢迎新的贡献者加入这个项目。立即从 GitHub 上查看 WebKit 开始吧!请参阅我们的“入门”文档,了解有关构建、测试和为项目做出改进的信息。WebKit 团队也可以在 #WebKit 的 Slack 上找到,我们随时准备帮助人们参与webkit-dev 邮件列表中的项目。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章