前言
当我听说Pragmatic Starter Kit的时候非常兴奋,关于那些让项目成功需要用到的东西,终于有这样的书来教大家如何使用了。写Pragmatic Version Control的Subversion版本是我不能错过的机会。Subversion曾经从地狱里拯救了我(以及我的团队)。我愿意贡献一己之力去推广这个伟大的新版本控制系统。
版本控制能给一个项目带来很多很多的好处。它给你一张**网,帮助你的团队有效地协作,让你能够组织构建质量保证过程,甚至还可以在有东西出错时让你能够做一些侦查工作。我希望这本新版的Pragmatic Version Control能够帮助你和你的团队快速上手并成功使用Subversion。
致谢
我要感谢Dave和Andy给了我这个机会来写本书,并且要特别感谢Dave杰出的编辑工作。有时我都不知道要写一些什么,但是Dave的建议和指导给我指明了方向。
本书给许多人仔细审阅过。我要感谢Brad Appleton,Branko Cibej,Martin Fowler,Steffen Gemkow,Robert Rasmussen,Mike Roberts以及David Rupp。他们给了本书许多深刻的评论和建议。坦白地说,我收到的反馈的质量令我非常惊讶。它们中有很好的建议,有很具技术性的评论以及大量的对于“整体蓝图”的思考。
ThoughtWorks中的每个人对于我的写作都非常支持,一些人还花了不少时间通读了本书的草稿。我要感谢那些给了我建议和指导的朋友,特别感谢Calgary办公室今年欢迎我的加入,并且在我忙不过来的时候给了我时间,让我得以完成本书。
*后我要感谢Martin,Mike以及Michelle,是他们让我相信我真的可以写完本书,而且在写作过程中他们一直都在鼓励着我。
2004年12月
? 第2版致谢
自从本书第1版问世以来,Subversion的世界已经发生了很大的变化。它有了新的特性,更好的性能以及更强的稳定性,*重要的是对于很多领先的工具和IDE,都有了紧密的集成。Subversion现在可能是ThoughtWorks在项目中*常使用的版本控制工具,并且在商业工具市场上也是一个很有实力的竞争者。
自从第1版出版以来,许多人给了我支持和反馈,在此我要感谢他们。这么多的人阅读了本书,非常喜欢它,并且Subversion给他们带来了成功。知道这些是让人非常满足的事情。请继续给我更多的反馈,它们都很有价值。
以下诸位非常慷慨地贡献了自己的时间来阅读更新后的手稿,并且提供了非常细致的反馈:Steve Berczuk,Nick Coyne,David Rupp和Nate Schutta。感谢你们花费的宝贵时间、付出的努力以及提供的极好想法。
我要感谢Dave和Andy给了我这个机会来更新本书让其能包容许多Subversion的新特性,我特别要感谢Andy这次承担起的编辑职责。就如我和我许多朋友和同事说过的,一个好的编辑是写作过程中至关重要的一环,对于能够与Andy和Dave都有过合作经历,我感到十分幸运。
Mike Mason
May 2006
mike@mikemason.ca
译者序
译完全书,*大的感触莫过于本书的务实精神。务实体现在本书没有大谈道理,而是处处以实践为根基,用例子说话。务实体现在对很多任务给了多种做法,并分析了各种做法所适合的场合。还有一点我认为是*能体现务实精神的:作者不断地在提醒读者,如果可能,应尽量选择*简单的方案,不要把简单问题复杂化。这种务实精神,也正是敏捷软件开发思想的精髓。
当接到编辑的电话委托我翻译此书时,未曾料到本书的作者竟然是我的同事。后来知道Mike Mason是我们ThoughtWorks Canada的一位前辈,不由得发出一句感叹,难怪!因为在翻译本书的过程中,总是能嗅到熟悉的、审慎的味道。只有每时每刻都想着给客户提供*大价值的人,才能够在字里行间表现出这样审慎的态度。简单的实现才是***的实现。ThoughtWorker都是**主义者,但他们更是务实的**主义者。
国内的软件开发行业正处在快速成长期。技术界对于新技术的讨论氛围是非常热烈的。成长中的***无可避免地会专情于技术问题,往往思考问题时是技术驱动而不是价值驱动。其实权衡成本和收益不只是老板和项目经理需要考虑的问题。即便你追求的只是成为**的程序员,你也要学会价值驱动的思维方式。因为对于设计的权衡、技术上的大大小小的决策,往往都能在分析了成本和收益之后找到明确的答案。当你犹豫是否需要一个分支时,问问自己花费多少,收益几何?不创建分支一定会相互干扰么?当你考虑设置Apache服务器存放Subversion项目仓库时,问问自己是否准备好了维护WEB服务器?直接使用svnserve是否可行?类似的问题有很多。只要你站在收益的角度来思考问题,很多难题都能迎刃而解。
在本书的翻译过程中,得到了许多人的帮助。特别要感谢ThoughtWorks的同事们,从他们身上学到的东西让我能够通过文字理解背后的思想。同时还要感谢陈元玉编辑给了我翻译此书的机会,并耐心地完成编辑和审校的工作。*后要感谢我的父母,是他们*初教会了我要如何去做一个务实的人。
陶 文
2006年12月于西安