6 年的 commit 視覺化
今天我一時興起,想把我們在 Git 上的所有 Redis commit 畫出來,這佔了所有 Redis commit 的 90%。一開始有短暫的一段時間我用的是 SVN,但很快就換掉了。
完整大圖請見:http://antirez.com/misc/commitsvis.png

每個 commit 都是一個長方形。高度代表受影響的行數(採用對數尺度)。灰色標籤顯示的是版本標籤。
沒有什麼太令人意外的發現,因為 commit 的數量在這段時間內大致維持不變,不過由於我們不再將新功能 backport 回 3.0 及後續版本,新 patchlevel 版本的發布頻率已經降低。
2.6、2.8 與 3.0 之間的主要版本看起來間隔大致平均,但初期發布得更為頻繁,這一點應該很快就會改變,因為我們正嘗試改為時間驅動的發布模式,每年推出 3 個新的主要版本(顯然,每個版本包含的新內容會比以往耗時一整年的主要版本少)。例如,3.2 RC 預計於 2015 年 12 月釋出。
特定主要版本的 patch release 往往呈現對數曲線的形狀。隨著版本趨於成熟,一般來說嚴重的錯誤會變少。同時,關注焦點也會逐漸轉移到新版本上。
我很希望 Github 能提供像這樣的功能,甚至更多。一個已存在多年的專案,其 commit 中蘊含了大量資料。這些資料應該被分析與探索……圖表區塊多年來似乎一成不變,實在很可惜。
編按:用於產生此圖表的 Tcl script 位於此:https://github.com/antirez/redis/tree/unstable/utils/graphs/commits-over-time
隨機一篇部落格