管理員講述將WebKit項目遷移至GitHub平臺上的種種益處


JonathanBedard在周三的文章上寫道:6月23日,WebKit項目凍結Subversion樹,並將源碼的管理與交互遷移到GitHub上。之所以這麼做,是因為WebKit社區意識到git分佈式特性的重要性——不僅僅涉及多個開發人員、而是能夠讓多個組織在單個項目上輕松展開協作。

(來自:WebKit.org)

git 作者與提交者模型,很好地呈現像 WebKit 這樣的大型軟件項目,其在代碼編寫和管理工作上到底有復雜。

得益於本地變更記錄,git 可讓項目在各分支之間的移動提交 / 撤銷都變得更加便捷。

同時 git log 將提交歷史限制到存儲庫某些部分的能力,意味著大型項目不再需要於每次提交時簽入過時的 ChangeLog 文件。

另外它在軟件工程中的普遍性,意味著 WebKit 項目的大多數新貢獻者,都會發現自己的 git-svn、更傾向於從 WebKit 項目的鏡像中著手。

所以 WebKit 決定將項目轉變為純 git 模式,並且能夠很好地配合現有工具 / 工作流程。

至於 GitHub 為何如此受青睞,Jonathan Bedard 解釋稱:

首先,WebKit 項目組對來自世界各地的開發者的貢獻和反饋都深感興趣,而 GitHub 正好擁有一個非常龐大的開發者社區 —— 尤其是 Web 開發人員。

通過與他們密切合作,WebKit 引擎可以得到充分的改進,並將這些開發人員的創作傳遞到世界各地的用戶手中。

其次,我們發現 GitHub 的 API 讓我們可以通過對現有基礎架構施加較小的修改、來構建高級的提交前後的自動化體驗。

以及提供一個現代且安全的平臺,來審查並提供有關新代碼更改的反饋。

當然 git 也不是那樣完美無缺,比它的哈希不是自然排序的。

WebKit 團隊發現,輕松推斷存儲庫中提交順序的能力,對於我們的零容忍性能回歸策略至關重要。

於是我們在決定需要二分的工作流程中,使用所謂的‘提交標識符’方案。

在主分支上,commit identifiers 特指提交擁有的祖數量(ancestors)計數,而分支還得結合兩者。

至於確切的提交標識符,可分別通過 git rev-list --count <ref>git rev-list --count main..<ref> 來計算。

為此,WebKit 團隊開發一些簡單的工具來處理 commit identifiers 。

值得一提的有 Tools/Scripts/git-webkit(提供 git 與標識符兼容的命令),

以及 commits.webkit.org(用於在不同提交表示之間進行轉換的簡單 Web 服務)。

此外所有提交提交都通過 commits.webkit.org 鏈接,將標識符嵌入到各自的提交消息中。

感興趣的朋友,可移步至 GitHub wiki / Source Control 頁面以解詳情。


相關推薦

2024-03-17

的不合邏輯,比如本周有開發者發現蘋果已經將所有開源項目遷移至微軟的GitHub平臺,蘋果不再自建開源代碼托管平臺。說不合邏輯的並不是蘋果把開源項目遷移至GitHub,而是蘋果甚至都沒有在自傢網站做重定向,因此若通過Goo

2022-09-13

—該公司正在從一傢視訊服務提供商,向更加全面的通訊平臺轉型。作為戰略大轉變的一部分,Zoom還介紹一個新名稱和新Logo。如圖所示,為容納更多的平臺服務,Zoom 在名稱中容納更多的小寫字母“o”—— 正如山景城科技巨頭

2022-08-24

的博客,實踐中通常還是在 1200 ~ 1500 字之間。Saama Capital 管理合夥人 Ash Lilani 在一份預備的聲明中稱:在加強有機營銷方面,企業往往在如何有意義地擴展內容上遇到困難。此前市面上一直缺乏簡單的方法來擴展內容,而 Scalenut

2024-03-23

可以體驗快速可靠的 GPU 環境設置以及跨異構平臺工作、管理和協作。免費下載地址:https://www.nvidia.com/en-us/deep-learning-ai/solutions/data-science/workbench/AI Workbench主要功能介紹:快速安裝、設置和配置基於GPU的開發環境。基於最新模型的

2023-02-08

據TheRegister報道,Mozilla正在為iOS開發一個非WebKit引擎的Firefox瀏覽器,以應對蘋果平臺規則的變化。Mozilla的GitHub倉庫現在包含iOS版Firefox瀏覽器的代碼,其中提到GeckoView,這是Firefox瀏覽器Gecko渲染引擎的封裝。蘋果的App Store規則堅

2022-07-20

開發者可以直接在Carbon語言的程序中使用C++,這大大提升項目遷移的便捷性。而從Carbon的GitHub頁面也能夠看出,谷歌在開發該語言的時候,就將接替C++作為核心目標,它擁有大量與C++相契合的特性,一個熟練的C++開發者將能夠迅

2022-08-23

目前仍處於測試階段 / 預計明年發佈)。Google 已經為該項目傾註相當多的資源,且目前正在並行維護兩套編譯器 —— 意味著該語言本身的開發速度有所放緩。由於該公司為這個項目投入相當多的資源——並且目前正在並行維護

2024-03-19

下一個遷移到"設置"應用中的工具是"顯示色彩管理"。現在,你可以從"顯示設置"中的"色彩配置文件"部分啟動傳統工具。不過,微軟仍在進行遷移工作,可能仍會打開傳統工具。您可以輕松加載色彩

2024-04-08

分析的媒體資源將停止處理數據,之後一小段時間內網站管理員 / 開發者仍然可以查看通用分析報告,但隻有使用 GA4 的媒體資源才能獲取新的統計數據。不過即便網站管理員忘記遷移其實也問題不大,因為谷歌會代表網站創建

2024-06-26

同名長篇小說,由汪俊執導,劉亦菲、佟大為領銜主演,講述現代女性在追求精神自由、人格獨立與美滿愛情道路上的種種抉擇,探討女性如何實現自我價值等議題。隨著劇集的熱播,主演劉亦菲在劇中穿著的一件黃色沖鋒衣意

2022-07-25

開源項目可能受美國出口管制法律的約束,包括美國出口管理條例(EAR)。”限制事件發生之後就出現不少反對的聲音。開發者們在GitHub創建名為“github-do-not-ban-us”的項目進行抗議,還一度登上GitHub熱榜第一。而值得註意的是

2022-09-22

GNOME43於今天正式發佈。新版對快速系統設置區域進行重新設計,增強大量Mutter組件以改善對Wayland的支持,越來越多的應用從GTK3移植到GTK4,引入全新的“設備安全”管理區域,GNOMEFiles(Nautilus)也經過大量的改進。

2024-04-19

些爭論的結果不僅會影響 TikTok 的未來,還會為國際技術管理開創先例。

2022-06-22

文章,Telegram 創始人 Durov 引用英國監管機構競爭與市場管理局 (CMA) 的評論,認為蘋果將用戶從 Web 應用程序推向帶有本地應用程序和規則的 App Store。CMA 對其長達一年的移動生態系統研究的結論對 iOS 上的瀏覽器表示擔憂,這是