开源人访谈

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 从今天开始将推出一系列中国国内开源人的访谈文章,这一群国内最活跃最重要最娴熟、也最大咖的开源人,将为你讲述他们自己的故事,为普通开源社区的参与者和还未参与进来的新手介绍纯粹的开源精神与第一手的开源人理念。同时也非常欢迎大家留言或者在微博上跟我们交流,聊聊你关于开源的想法与经历。