rev |
line source |
bos@559
|
1 <!-- vim: set filetype=docbkxml shiftwidth=2 autoindent expandtab tw=77 : -->
|
bos@26
|
2
|
bos@559
|
3 <preface id="chap:preface">
|
bos@587
|
4 <?dbhtml filename="preface.html"?>
|
bos@559
|
5 <title>Preface</title>
|
bos@26
|
6
|
bos@583
|
7 <sect1>
|
bos@705
|
8 <title>Technical storytelling</title>
|
bos@705
|
9
|
bos@705
|
10 <para id="x_72e">A few years ago, when I wanted to explain why I believed
|
bos@705
|
11 that distributed revision control is important, the field was
|
bos@705
|
12 then so new that there was almost no published literature to
|
bos@705
|
13 refer people to.</para>
|
bos@705
|
14
|
bos@705
|
15 <para id="x_72f">Although at that time I spent some time working on the
|
bos@705
|
16 internals of Mercurial itself, I switched to writing this book
|
bos@705
|
17 because that seemed like the most effective way to help the
|
bos@705
|
18 software to reach a wide audience, along with the idea that
|
bos@705
|
19 revision control ought to be distributed in nature. I publish
|
bos@705
|
20 the book online under a liberal license for the same
|
bos@705
|
21 reason: to get the word out.</para>
|
bos@705
|
22
|
bos@705
|
23 <para id="x_730">There's a familiar rhythm to a good software book that
|
bos@705
|
24 closely resembles telling a story: What is this thing? Why does
|
bos@705
|
25 it matter? How will it help me? How do I use it? In this
|
bos@705
|
26 book, I try to answer those questions for distributed revision
|
bos@705
|
27 control in general, and for Mercurial in particular.</para>
|
bos@705
|
28 </sect1>
|
bos@705
|
29
|
bos@705
|
30 <sect1>
|
bos@705
|
31 <title>Thank you for supporting Mercurial</title>
|
bos@705
|
32
|
bos@705
|
33 <para id="x_731">By purchasing a copy of this book, you are supporting the
|
bos@705
|
34 continued development and freedom of Mercurial in particular,
|
bos@705
|
35 and of open source and free software in general. O'Reilly Media
|
bos@705
|
36 and I are donating my royalties on the sales of this book to the
|
bos@705
|
37 Software Freedom Conservancy (<ulink
|
bos@705
|
38 url="http://www.softwarefreedom.org/">http://www.softwarefreedom.org/</ulink>)
|
bos@705
|
39 which provides clerical and legal support to Mercurial and a
|
bos@705
|
40 number of other prominent and worthy open source software
|
bos@705
|
41 projects.</para>
|
bos@705
|
42 </sect1>
|
bos@705
|
43
|
bos@705
|
44 <sect1>
|
bos@705
|
45 <title>Acknowledgments</title>
|
bos@705
|
46
|
bos@705
|
47 <para id="x_732">This book would not exist were it not for the efforts of
|
bos@705
|
48 Matt Mackall, the author and project lead of Mercurial. He is
|
bos@705
|
49 ably assisted by hundreds of volunteer contributors across the
|
bos@705
|
50 world.</para>
|
bos@705
|
51
|
bos@705
|
52 <para id="x_733">My children, Cian and Ruairi, always stood ready to help me
|
bos@705
|
53 to unwind with wonderful, madcap little-boy games. I'd also
|
bos@705
|
54 like to thank my ex-wife, Shannon, for her support.</para>
|
bos@705
|
55
|
bos@705
|
56 <para id="x_734">My colleagues and friends provided help and support in
|
bos@705
|
57 innumerable ways. This list of people is necessarily very
|
bos@705
|
58 incomplete: Stephen Hahn, Karyn Ritter, Bonnie Corwin, James
|
bos@705
|
59 Vasile, Matt Norwood, Eben Moglen, Bradley Kuhn, Robert Walsh,
|
bos@705
|
60 Jeremy Fitzhardinge, Rachel Chalmers.</para>
|
bos@705
|
61
|
bos@705
|
62 <para id="x_735">I developed this book in the open, posting drafts of
|
bos@705
|
63 chapters to the book web site as I completed them. Readers then
|
bos@705
|
64 submitted feedback using a web application that I developed. By
|
bos@705
|
65 the time I finished writing the book, more than 100 people had
|
bos@705
|
66 submitted comments, an amazing number considering that the
|
bos@705
|
67 comment system was live for only about two months towards the
|
bos@705
|
68 end of the writing process.</para>
|
bos@705
|
69
|
bos@705
|
70 <para id="x_736">I would particularly like to recognize the following people,
|
bos@705
|
71 who between them contributed over a third of the total number of
|
bos@705
|
72 comments. I would like to thank them for their care and effort
|
bos@705
|
73 in providing so much detailed feedback.</para>
|
bos@705
|
74
|
bos@705
|
75 <para id="x_737">Martin Geisler, Damien Cassou, Alexey Bakhirkin, Till Plewe,
|
bos@705
|
76 Dan Himes, Paul Sargent, Gokberk Hamurcu, Matthijs van der
|
bos@705
|
77 Vleuten, Michael Chermside, John Mulligan, Jordi Fita, Jon
|
bos@705
|
78 Parise.</para>
|
bos@705
|
79
|
bos@705
|
80 <para id="x_738">I also want to acknowledge the help of the many people who
|
bos@705
|
81 caught errors and provided helpful suggestions throughout the
|
bos@705
|
82 book.</para>
|
bos@705
|
83
|
bos@705
|
84 <para id="x_739">Jeremy W. Sherman, Brian Mearns, Vincent Furia, Iwan
|
bos@705
|
85 Luijks, Billy Edwards, Andreas Sliwka, Paweł Sołyga, Eric
|
bos@705
|
86 Hanchrow, Steve Nicolai, Michał Masłowski, Kevin Fitch, Johan
|
bos@705
|
87 Holmberg, Hal Wine, Volker Simonis, Thomas P Jakobsen, Ted
|
bos@705
|
88 Stresen-Reuter, Stephen Rasku, Raphael Das Gupta, Ned
|
bos@705
|
89 Batchelder, Lou Keeble, Li Linxiao, Kao Cardoso Félix, Joseph
|
bos@705
|
90 Wecker, Jon Prescot, Jon Maken, John Yeary, Jason Harris,
|
bos@705
|
91 Geoffrey Zheng, Fredrik Jonson, Ed Davies, David Zumbrunnen,
|
bos@705
|
92 David Mercer, David Cabana, Ben Karel, Alan Franzoni, Yousry
|
bos@705
|
93 Abdallah, Whitney Young, Vinay Sajip, Tom Towle, Tim Ottinger,
|
bos@705
|
94 Thomas Schraitle, Tero Saarni, Ted Mielczarek, Svetoslav
|
bos@705
|
95 Agafonkin, Shaun Rowland, Rocco Rutte, Polo-Francois Poli,
|
bos@705
|
96 Philip Jenvey, Petr Tesałék, Peter R. Annema, Paul Bonser,
|
bos@705
|
97 Olivier Scherler, Olivier Fournier, Nick Parker, Nick Fabry,
|
bos@705
|
98 Nicholas Guarracino, Mike Driscoll, Mike Coleman, Mietek Bák,
|
bos@705
|
99 Michael Maloney, László Nagy, Kent Johnson, Julio Nobrega, Jord
|
bos@705
|
100 Fita, Jonathan March, Jonas Nockert, Jim Tittsler, Jeduan
|
bos@705
|
101 Cornejo Legorreta, Jan Larres, James Murphy, Henri Wiechers,
|
bos@705
|
102 Hagen Möbius, Gábor Farkas, Fabien Engels, Evert Rol, Evan
|
bos@705
|
103 Willms, Eduardo Felipe Castegnaro, Dennis Decker Jensen, Deniz
|
bos@705
|
104 Dogan, David Smith, Daed Lee, Christine Slotty, Charles Merriam,
|
bos@705
|
105 Guillaume Catto, Brian Dorsey, Bob Nystrom, Benoit Boissinot,
|
bos@705
|
106 Avi Rosenschein, Andrew Watts, Andrew Donkin, Alexey Rodriguez,
|
bos@705
|
107 Ahmed Chaudhary.</para>
|
bos@705
|
108 </sect1>
|
bos@705
|
109
|
bos@705
|
110 <sect1>
|
bos@704
|
111 <title>Conventions Used in This Book</title>
|
bos@583
|
112
|
bos@705
|
113 <para id="x_73a">The following typographical conventions are used in this
|
bos@704
|
114 book:</para>
|
bos@583
|
115
|
bos@704
|
116 <variablelist>
|
bos@704
|
117 <varlistentry>
|
bos@704
|
118 <term>Italic</term>
|
bos@583
|
119
|
bos@704
|
120 <listitem>
|
bos@705
|
121 <para id="x_73b">Indicates new terms, URLs, email addresses, filenames,
|
bos@704
|
122 and file extensions.</para>
|
bos@704
|
123 </listitem>
|
bos@704
|
124 </varlistentry>
|
bos@583
|
125
|
bos@704
|
126 <varlistentry>
|
bos@704
|
127 <term><literal>Constant width</literal></term>
|
bos@583
|
128
|
bos@704
|
129 <listitem>
|
bos@705
|
130 <para id="x_73c">Used for program listings, as well as within
|
bos@704
|
131 paragraphs to refer to program elements such as variable
|
bos@704
|
132 or function names, databases, data types, environment
|
bos@704
|
133 variables, statements, and keywords.</para>
|
bos@704
|
134 </listitem>
|
bos@704
|
135 </varlistentry>
|
bos@583
|
136
|
bos@704
|
137 <varlistentry>
|
bos@704
|
138 <term><userinput>Constant width bold</userinput></term>
|
bos@583
|
139
|
bos@704
|
140 <listitem>
|
bos@705
|
141 <para id="x_73d">Shows commands or other text that should be typed
|
bos@704
|
142 literally by the user.</para>
|
bos@704
|
143 </listitem>
|
bos@704
|
144 </varlistentry>
|
bos@583
|
145
|
bos@704
|
146 <varlistentry>
|
bos@704
|
147 <term><replaceable>Constant width italic</replaceable></term>
|
bos@583
|
148
|
bos@704
|
149 <listitem>
|
bos@705
|
150 <para id="x_73e">Shows text that should be replaced with user-supplied
|
bos@704
|
151 values or by values determined by context.</para>
|
bos@704
|
152 </listitem>
|
bos@704
|
153 </varlistentry>
|
bos@704
|
154 </variablelist>
|
bos@583
|
155
|
bos@704
|
156 <tip>
|
bos@705
|
157 <para id="x_73f">This icon signifies a tip, suggestion, or general
|
bos@704
|
158 note.</para>
|
bos@704
|
159 </tip>
|
bos@583
|
160
|
bos@704
|
161 <caution>
|
bos@705
|
162 <para id="x_740">This icon indicates a warning or caution.</para>
|
bos@704
|
163 </caution>
|
bos@583
|
164 </sect1>
|
bos@26
|
165
|
bos@559
|
166 <sect1>
|
bos@704
|
167 <title>Using Code Examples</title>
|
bos@26
|
168
|
bos@705
|
169 <para id="x_741">This book is here to help you get your job done. In general,
|
bos@704
|
170 you may use the code in this book in your programs and
|
bos@704
|
171 documentation. You do not need to contact us for permission
|
bos@704
|
172 unless you’re reproducing a significant portion of the code. For
|
bos@704
|
173 example, writing a program that uses several chunks of code from
|
bos@704
|
174 this book does not require permission. Selling or distributing a
|
bos@704
|
175 CD-ROM of examples from O’Reilly books does require permission.
|
bos@704
|
176 Answering a question by citing this book and quoting example
|
bos@704
|
177 code does not require permission. Incorporating a significant
|
bos@704
|
178 amount of example code from this book into your product’s
|
bos@704
|
179 documentation does require permission.</para>
|
bos@200
|
180
|
bos@705
|
181 <para id="x_742">We appreciate, but do not require, attribution. An
|
bos@704
|
182 attribution usually includes the title, author, publisher, and
|
bos@704
|
183 ISBN. For example: “<emphasis>Book Title</emphasis> by Some
|
bos@704
|
184 Author. Copyright 2008 O’Reilly Media, Inc.,
|
bos@704
|
185 978-0-596-xxxx-x.”</para>
|
bos@200
|
186
|
bos@705
|
187 <para id="x_743">If you feel your use of code examples falls outside fair use
|
bos@704
|
188 or the permission given above, feel free to contact us at
|
bos@704
|
189 <email>permissions@oreilly.com</email>.</para>
|
bos@559
|
190 </sect1>
|
bos@583
|
191
|
bos@583
|
192 <sect1>
|
bos@704
|
193 <title>Safari® Books Online</title>
|
bos@583
|
194
|
bos@704
|
195 <note role="safarienabled">
|
bos@705
|
196 <para id="x_744">When you see a Safari® Books Online icon on the cover of
|
bos@704
|
197 your favorite technology book, that means the book is
|
bos@704
|
198 available online through the O’Reilly Network Safari
|
bos@704
|
199 Bookshelf.</para>
|
bos@704
|
200 </note>
|
bos@583
|
201
|
bos@705
|
202 <para id="x_745">Safari offers a solution that’s better than e-books. It’s a
|
bos@704
|
203 virtual library that lets you easily search thousands of top
|
bos@704
|
204 tech books, cut and paste code samples, download chapters, and
|
bos@704
|
205 find quick answers when you need the most accurate, current
|
bos@704
|
206 information. Try it for free at <ulink role="orm:hideurl:ital"
|
bos@704
|
207 url="http://my.safaribooksonline.com/?portal=oreilly">http://my.safaribooksonline.com</ulink>.</para>
|
bos@583
|
208 </sect1>
|
bos@583
|
209
|
bos@583
|
210 <sect1>
|
bos@704
|
211 <title>How to Contact Us</title>
|
bos@583
|
212
|
bos@705
|
213 <para id="x_746">Please address comments and questions concerning this book
|
bos@704
|
214 to the publisher:</para>
|
bos@583
|
215
|
bos@704
|
216 <simplelist type="vert">
|
bos@704
|
217 <member>O’Reilly Media, Inc.</member>
|
bos@583
|
218
|
bos@704
|
219 <member>1005 Gravenstein Highway North</member>
|
bos@583
|
220
|
bos@704
|
221 <member>Sebastopol, CA 95472</member>
|
bos@583
|
222
|
bos@704
|
223 <member>800-998-9938 (in the United States or Canada)</member>
|
bos@583
|
224
|
bos@704
|
225 <member>707-829-0515 (international or local)</member>
|
bos@583
|
226
|
bos@704
|
227 <member>707 829-0104 (fax)</member>
|
bos@704
|
228 </simplelist>
|
bos@583
|
229
|
bos@705
|
230 <para id="x_747">We have a web page for this book, where we list errata,
|
bos@704
|
231 examples, and any additional information. You can access this
|
bos@704
|
232 page at:</para>
|
bos@583
|
233
|
bos@704
|
234 <simplelist type="vert">
|
bos@704
|
235 <member><ulink url="http://www.oreilly.com/catalog/<catalog
|
bos@704
|
236 page>"></ulink></member>
|
bos@704
|
237 </simplelist>
|
bos@583
|
238
|
bos@704
|
239 <remark>Don’t forget to update the <url> attribute,
|
bos@704
|
240 too.</remark>
|
bos@583
|
241
|
bos@705
|
242 <para id="x_748">To comment or ask technical questions about this book, send
|
bos@704
|
243 email to:</para>
|
bos@26
|
244
|
bos@704
|
245 <simplelist type="vert">
|
bos@704
|
246 <member><email>bookquestions@oreilly.com</email></member>
|
bos@704
|
247 </simplelist>
|
bos@26
|
248
|
bos@705
|
249 <para id="x_749">For more information about our books, conferences, Resource
|
bos@704
|
250 Centers, and the O’Reilly Network, see our web site at:</para>
|
bos@559
|
251
|
bos@704
|
252 <simplelist type="vert">
|
bos@704
|
253 <member><ulink url="http://www.oreilly.com"></ulink></member>
|
bos@704
|
254 </simplelist>
|
bos@559
|
255 </sect1>
|
bos@559
|
256 </preface>
|
bos@704
|
257
|
bos@559
|
258 <!--
|
bos@559
|
259 local variables:
|
bos@559
|
260 sgml-parent-document: ("00book.xml" "book" "preface")
|
bos@559
|
261 end:
|
bos@559
|
262 -->
|