safari网页浏览器引擎webkit项目存储库搬迁至github – 十轮网-金沙软件免费下载

开源网页浏览器引擎webkit项目在6月的时候,冻结了版本控制系统subversion树,并将管理和源码转移到了github上,采用git来进行项目开发协作。官方提到,搬迁的原因除了git本身的多项优点之外,软件开发者普遍更喜欢git。

git分布式的特性使多个开发人员,甚至是多个组织可以在单一项目上协作,git的本地更改记录,使分支之间的移动提交或是回退变更更为简单快速。

apple webkit团队的软件工程师jonathan bedard认为,git的作者和提交者模型,能够良好地应用在像是webkit这种大型软件项目编写和管理程序代码的复杂方法,git本地提交消息记录和git log,限制提交历史记录在存储库的特定位置,这代表着大型项目不用在每次提交时,都要签入(check in)过时的changelog文件。

webkit项目原本就已经在使用git,许多开发人员也早已经习惯在git-svn镜像备份工作,jonathan bedard提到,由于git在软件工程中普遍受到欢迎,也就代表webkit项目大部分新的贡献者会倾向使用git。将webkit搬迁到专门的git,不仅能够与现有工具和流程相配合,webkit团队也会有更多与git良好集成的工具和服务可以选择。

不过采用git也有需要克服的挑战,webkit的缺点之一是git散列并非自然排序,但webkit团队认为可以简单推断存储库中提交顺序的能力,是webkit零容忍性能回归政策的重要关键。

因此webkit在工作流程中导入提交识别码(commit identifier)的机制,在主分支上,提交识别码是提交所拥有的祖先数量计数,而主分支上其他分支的提交识别码,则是主分支祖先的数量加上该分支的祖先数量,如此便能计算出每个提交的顺序。

虽然处理排序需要额外的工作,但是采用git仍然利大于弊,因为webkit项目的贡献和反馈来自全世界的开发者,jonathan bedard表示,github拥有庞大的开发人员社群,特别是网页开发者,有利于webkit项目与他们密切合作改进引擎。

而且因为github方便的api,使得webkit项目人员只要些微修改现有基础设施,就能够构建高端的提交自动化机制,并提供一个更先进且安全的平台,来审查和反馈新的程序代码变更。

发表评论