開源人訪談

Git 10 周年訪談: KVM維護者Paolo Bonzini講述他與Git的故事

本周是 Linux 創始人 Linus Torvalds 發布首次版本 Git 分散式控制系統的第十周年。這十年來,成千上萬的開源項目開始依賴這種流行的軟體開發工具,並加速形成了現在主導技術創新的協作開發模式。Paolo-Bonzini

為了慶祝這裡程碑式的成就,我們請開源項目維護者和領導者來和我們分享這周是怎麼,為什麼選擇使用 Git 的。同時也會分享他們的一些 Git 成功小故事和一些便於更好使用 Git 的小技巧。

Linus Torvalds 本人在昨天已經開始了這系列的訪談。今天,我們將採訪 Paolo Bonzini,一位來自 Red Hat 的首席軟體工程師,QEMU 的貢獻者和 KVM 的維護者——Linux 的一種基於內核的虛擬機。同時讓我們繼續關注他們在 Qt,Drupal,Puppet,Wine 和 Tor 背後的 Git 故事吧!

Linux.com:為什麼KVM要使用Git呢?


Paolo Bonzini: 因為 KVM「僅僅」只是一種 Linux 內核的子系統,所以,我們使用 Git 時就要像內核的其他部分一樣。我目前是做整體的維護,所以我應用補丁(我的以及其他人的)和那些已經被我的 submaintainers 審查及測試過補丁的,被「pull requests」過的程序。我的 tree 有三個分支:一是為了準備當前 Linux 版本的補丁,二是為了準備下一個 Linux 版本的補丁,三是為了那些應該準備好下一個 Linux 版本但是又並沒有被測試完全的補丁。

但是你不能單獨只使用 KVM,你需要一些其他使用它的代碼,而且那就是為什麼大多數 KVM 的貢獻者也在使用 QEMU。考慮到 Git 是怎樣使用的,QEMU 和 Linux 的使用大體相似。現在只有一個人,Peter Maydell 在致力於官方 QEMU 庫;補丁大都來自於通過「pull request」的 submaintainers。我們發現這種模式很有效果,更厲害的是,peter(不同於Linus Torvalds,他自己也是一個 submaintainer)會自己給自己提供「pull requests」!

你覺得是什麼讓Git成為一種偉大的工具?


Paolo Bonzini: 答案很顯然是它本身的分散式特性。它允許 submaintainers 平行地工作並為項目提供一種非常簡單層次結構的匹配。然而,很多大型的工作卻沒有這樣的層次結構。

因此,我想說 Git 是很偉大的,因為它提供一種非入侵方式的版權控制方法,而且也因為他為單個項目提供了更簡單的版權控制。我為「project」這個詞提供了一個非常廣泛的意義,比如,它包括了後來在 Linux 或 QEMU 里包括了的功能。你不用聯網,不用設置一個伺服器,不需要一個單獨的目錄。你甚至都不用提前告訴這個世界你在做什麼。

「git init」或者「git checkout-b」就已經足夠開始一個項目或者一個功能,並且你從一開始就能享受到由此帶來的版本控制優勢。我想,這將更容易形成更好更容易維護的代碼。

你們在合作Git上有多少開發人員?


Paolo Bonzini: 一個 QEMU 版本上至少要有大約170人吧。這種分配有很明顯的「long tail」:大約其中百分之六十的人會貢獻不足五個補丁,而且另外百分之四十的人則只能致力於一個補丁。

KVM 要小一點,每個版本大約25個人。另外,「long tail」效應也同樣存在,大約一半的人僅僅只能貢獻一到兩個補丁。

這種「long tail」卻又是非常重要的,因為很多這些「stand-by」補丁會修正 bug。

你個人會使用多少Git?


Paolo Bonzini: 在我的1000個 shell 命令裡面,大約有400都是 git 的!(運行最多的是 vi,略低於200次調用)

KVM 現在最火的 git repo 是什麼,又是為什麼呢?


Paolo Bonzini: 這很難說。當然了,所有的「形式」最後都變成了最高水平 repositories 的一部分;對於 KVM 來說這會是我的,對於 QEMU 來說這就成官方的了。

但是發展也出現在 submaintainers 的回購中,在 QEMU 的情況下,在實踐中它只在那種情況下發生過。對於 QEMU 來說,最火的 repositories 可能是 Peter's ARM repository  和「阻塞裝置」 repository. ARM  是非常火的,因為人們可以用很多種 QEMU 來模仿 ARM 模板操作他們,不只是為了虛擬化。阻塞裝置非常火是因為...好吧!是因為需要做成千上萬的工作!

你使用GIT最鍾愛使用的便於記憶的別名都有什麼?


Paolo Bonzini: 我有各種「別名」可以用來簡化一些git問題。這裡有些最簡單的:
changes = diff --name-status -r
diffstat = diff --stat -r
whatis = show -s --pretty='tformat:%h (%s, %ad)' --date=short
pwhatis = show -s --pretty='tformat:%h, %s, %ad' --date=short

這兩個"-r"好多年都沒有很重要,但是這兩個別名已經有8年歷史了,我從來沒有因為改變他們感到煩惱。這個名字的「改變」出自Arch,一個我轉換 git 的分散式版本控制系統。"whatis"和"pwhatis"在一個 email 上傳遞了 commit id 給一個可以複製的格式。"pwhatis"是用來經過時插進去的,"whatis"工作在 parentheses 的外部。當討論到一個補丁時,在涉及到 past commits 方面它可以幫到我們很多,而且它可以很好的使用一個一致的格式(ID,主題,日期)。

有什麼Git成功的故事可以分享的呢?


Paolo Bonzini: 我使用它使用得太多讓我不能想起任何成功的故事。它只是一個你日常使用的可靠的工具,但是沒有它你不能繼續生存下去。可能這已經可以看做是一個成功的故事了吧!?

你還想說些什麼其他的事情來為10周年慶作下印記呢?


Paolo Bonzini: 只是想對我以前的同事 Jeff Rose 大叫一聲慶祝一下,他說服了我去轉換 git。那可以追溯到2007年了!

 

原文鏈接:http://www.linux.com/news/featured-blogs/200-libby-clark/821899-git-success-stories-and-tips-from-kvm-maintainer-paolo-bonzini

Linux Story譯文鏈接:http://www.linuxstory.org/git-success-stories-and-tips-from-kvm-maintainer-paolo-bonzini

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0

You may also like

1 Comment

  1. 翻譯得太爛了,術語上的有磁碟塊設備(block device)被翻譯成阻塞設備,其他翻譯錯誤數不勝數

Leave a reply

您的郵箱地址不會被公開。 必填項已用 * 標註

此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

開源人訪談

中國開源人訪談系列之:清風博主

清風老師: 您好!記得小編第一次看你出現在LinuxStory 群里就有人說:清風老師您也在這啊!後來小編混入其他Linux群,發現清風老師基本都在,還常常回答其他讀者的疑問;這才知道,原來清風老師是 […]
開源人訪談

中國開源人訪談系列之:李立杭

開源社區的工作涉及方方面面:測試、撰稿、翻譯、測試、美工、宣傳及開發等,不一而足。作為一個自由、開放的生態,開源正在讓這個世界變得更加豐富多彩。Linux Story 推出一系列中國國內開源人的訪談文章,這一群國內最活躍最重要最嫻熟、也最大咖的開源人,將為你講述他們自己的故事,為普通開源社區的參與者和還未參與進來的新手介紹純粹的開源精神與第一手的開源人理念。這一期為大家訪談的是來自中科院開源軟體協會的李立杭,他目前在微軟亞洲研究院工作,同時非常歡迎大家留言或者在微博上跟我們交流,聊聊你關於開源的想法與經歷。
Image by : opensource.com 開源人訪談

中國開源人訪談系列之:Zamir

開源社區的工作涉及方方面面:測試、撰稿、翻譯、測試、美工、宣傳及開發等,不一而足。作為一個自由、開放的生態,開源正在讓這個世界變得更加豐富多彩。Linux Story 從今天開始將推出一系列中國國內開源人的訪談文章,這一群國內最活躍最重要最嫻熟、也最大咖的開源人,將為你講述他們自己的故事,為普通開源社區的參與者和還未參與進來的新手介紹純粹的開源精神與第一手的開源人理念。同時也非常歡迎大家留言或者在微博上跟我們交流,聊聊你關於開源的想法與經歷。
開源人訪談

中國開源人訪談系列之:Hillwood

開源社區的工作涉及方方面面:測試、撰稿、翻譯、測試、美工、宣傳及開發等,不一而足。作為一個自由、開放的生態,開源正在讓這個世界變得更加豐富多彩。Linux Story 從今天開始將推出一系列中國國內開源人的訪談文章,這一群國內最活躍最重要最嫻熟、也最大咖的開源人,將為你講述他們自己的故事,為普通開源社區的參與者和還未參與進來的新手介紹純粹的開源精神與第一手的開源人理念。同時也非常歡迎大家留言或者在微博上跟我們交流,聊聊你關於開源的想法與經歷。