113 lines
16 KiB
HTML
113 lines
16 KiB
HTML
|
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Preface</title><link rel="stylesheet" href="/support/styles.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.3"><link rel="home" href="index.html" title="Mercurial: The Definitive Guide"><link rel="up" href="index.html" title="Mercurial: The Definitive Guide"><link rel="prev" href="index.html" title="Mercurial: The Definitive Guide"><link rel="next" href="how-did-we-get-here.html" title="Chapter 1. How did we get here?"><link rel="alternate" type="application/atom+xml" title="Comments" href="/feeds/comments/"><link rel="shortcut icon" type="image/png" href="/support/figs/favicon.png"><script type="text/javascript" src="/support/jquery-min.js"></script><script type="text/javascript" src="/support/form.js"></script><script type="text/javascript" src="/support/hsbook.js"></script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><h2 class="booktitle"><a href="/">Mercurial: The Definitive Guide</a><span class="authors">by Bryan O'Sullivan</span></h2></div><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Preface</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="how-did-we-get-here.html">Next</a></td></tr></table></div><div class="preface" lang="en" id="chap:preface"><div class="titlepage"><div><div><h2 class="title">Preface</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="preface.html#id321829">Technical storytelling</a></span></dt><dt><span class="sect1"><a href="preface.html#id330285">Thank you for supporting Mercurial</a></span></dt><dt><span class="sect1"><a href="preface.html#id296114">Acknowledgments</a></span></dt><dt><span class="sect1"><a href="preface.html#id298254">Conventions Used in This Book</a></span></dt><dt><span class="sect1"><a href="preface.html#id341884">Using Code Examples</a></span></dt><dt><span class="sect1"><a href="preface.html#id297605">Safari® Books Online</a></span></dt><dt><span class="sect1"><a href="preface.html#id297646">How to Contact Us</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both" id="id321829">Technical storytelling</h2></div></div></div><p id="x_72e"><a name="x_72e"></a>A few years ago, when I wanted to explain why I believed
|
|||
|
that distributed revision control is important, the field was
|
|||
|
then so new that there was almost no published literature to
|
|||
|
refer people to.</p><p id="x_72f"><a name="x_72f"></a>Although at that time I spent some time working on the
|
|||
|
internals of Mercurial itself, I switched to writing this book
|
|||
|
because that seemed like the most effective way to help the
|
|||
|
software to reach a wide audience, along with the idea that
|
|||
|
revision control ought to be distributed in nature. I publish
|
|||
|
the book online under a liberal license for the same
|
|||
|
reason: to get the word out.</p><p id="x_730"><a name="x_730"></a>There's a familiar rhythm to a good software book that
|
|||
|
closely resembles telling a story: What is this thing? Why does
|
|||
|
it matter? How will it help me? How do I use it? In this
|
|||
|
book, I try to answer those questions for distributed revision
|
|||
|
control in general, and for Mercurial in particular.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both" id="id330285">Thank you for supporting Mercurial</h2></div></div></div><p id="x_731"><a name="x_731"></a>By purchasing a copy of this book, you are supporting the
|
|||
|
continued development and freedom of Mercurial in particular,
|
|||
|
and of open source and free software in general. O'Reilly Media
|
|||
|
and I are donating my royalties on the sales of this book to the
|
|||
|
Software Freedom Conservancy (<a class="ulink" href="http://www.softwarefreedom.org/" target="_top">http://www.softwarefreedom.org/</a>)
|
|||
|
which provides clerical and legal support to Mercurial and a
|
|||
|
number of other prominent and worthy open source software
|
|||
|
projects.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both" id="id296114">Acknowledgments</h2></div></div></div><p id="x_732"><a name="x_732"></a>This book would not exist were it not for the efforts of
|
|||
|
Matt Mackall, the author and project lead of Mercurial. He is
|
|||
|
ably assisted by hundreds of volunteer contributors across the
|
|||
|
world.</p><p id="x_733"><a name="x_733"></a>My children, Cian and Ruairi, always stood ready to help me
|
|||
|
to unwind with wonderful, madcap little-boy games. I'd also
|
|||
|
like to thank my ex-wife, Shannon, for her support.</p><p id="x_734"><a name="x_734"></a>My colleagues and friends provided help and support in
|
|||
|
innumerable ways. This list of people is necessarily very
|
|||
|
incomplete: Stephen Hahn, Karyn Ritter, Bonnie Corwin, James
|
|||
|
Vasile, Matt Norwood, Eben Moglen, Bradley Kuhn, Robert Walsh,
|
|||
|
Jeremy Fitzhardinge, Rachel Chalmers.</p><p id="x_735"><a name="x_735"></a>I developed this book in the open, posting drafts of
|
|||
|
chapters to the book web site as I completed them. Readers then
|
|||
|
submitted feedback using a web application that I developed. By
|
|||
|
the time I finished writing the book, more than 100 people had
|
|||
|
submitted comments, an amazing number considering that the
|
|||
|
comment system was live for only about two months towards the
|
|||
|
end of the writing process.</p><p id="x_736"><a name="x_736"></a>I would particularly like to recognize the following people,
|
|||
|
who between them contributed over a third of the total number of
|
|||
|
comments. I would like to thank them for their care and effort
|
|||
|
in providing so much detailed feedback.</p><p id="x_737"><a name="x_737"></a>Martin Geisler, Damien Cassou, Alexey Bakhirkin, Till Plewe,
|
|||
|
Dan Himes, Paul Sargent, Gokberk Hamurcu, Matthijs van der
|
|||
|
Vleuten, Michael Chermside, John Mulligan, Jordi Fita, Jon
|
|||
|
Parise.</p><p id="x_738"><a name="x_738"></a>I also want to acknowledge the help of the many people who
|
|||
|
caught errors and provided helpful suggestions throughout the
|
|||
|
book.</p><p id="x_739"><a name="x_739"></a>Jeremy W. Sherman, Brian Mearns, Vincent Furia, Iwan
|
|||
|
Luijks, Billy Edwards, Andreas Sliwka, Paweł Sołyga, Eric
|
|||
|
Hanchrow, Steve Nicolai, Michał Masłowski, Kevin Fitch, Johan
|
|||
|
Holmberg, Hal Wine, Volker Simonis, Thomas P Jakobsen, Ted
|
|||
|
Stresen-Reuter, Stephen Rasku, Raphael Das Gupta, Ned
|
|||
|
Batchelder, Lou Keeble, Li Linxiao, Kao Cardoso Félix, Joseph
|
|||
|
Wecker, Jon Prescot, Jon Maken, John Yeary, Jason Harris,
|
|||
|
Geoffrey Zheng, Fredrik Jonson, Ed Davies, David Zumbrunnen,
|
|||
|
David Mercer, David Cabana, Ben Karel, Alan Franzoni, Yousry
|
|||
|
Abdallah, Whitney Young, Vinay Sajip, Tom Towle, Tim Ottinger,
|
|||
|
Thomas Schraitle, Tero Saarni, Ted Mielczarek, Svetoslav
|
|||
|
Agafonkin, Shaun Rowland, Rocco Rutte, Polo-Francois Poli,
|
|||
|
Philip Jenvey, Petr Tesałék, Peter R. Annema, Paul Bonser,
|
|||
|
Olivier Scherler, Olivier Fournier, Nick Parker, Nick Fabry,
|
|||
|
Nicholas Guarracino, Mike Driscoll, Mike Coleman, Mietek Bák,
|
|||
|
Michael Maloney, László Nagy, Kent Johnson, Julio Nobrega, Jord
|
|||
|
Fita, Jonathan March, Jonas Nockert, Jim Tittsler, Jeduan
|
|||
|
Cornejo Legorreta, Jan Larres, James Murphy, Henri Wiechers,
|
|||
|
Hagen Möbius, Gábor Farkas, Fabien Engels, Evert Rol, Evan
|
|||
|
Willms, Eduardo Felipe Castegnaro, Dennis Decker Jensen, Deniz
|
|||
|
Dogan, David Smith, Daed Lee, Christine Slotty, Charles Merriam,
|
|||
|
Guillaume Catto, Brian Dorsey, Bob Nystrom, Benoit Boissinot,
|
|||
|
Avi Rosenschein, Andrew Watts, Andrew Donkin, Alexey Rodriguez,
|
|||
|
Ahmed Chaudhary.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both" id="id298254">Conventions Used in This Book</h2></div></div></div><p id="x_73a"><a name="x_73a"></a>The following typographical conventions are used in this
|
|||
|
book:</p><div class="variablelist"><dl><dt><span class="term">Italic</span></dt><dd><p id="x_73b"><a name="x_73b"></a>Indicates new terms, URLs, email addresses, filenames,
|
|||
|
and file extensions.</p></dd><dt><span class="term"><code class="literal">Constant width</code></span></dt><dd><p id="x_73c"><a name="x_73c"></a>Used for program listings, as well as within
|
|||
|
paragraphs to refer to program elements such as variable
|
|||
|
or function names, databases, data types, environment
|
|||
|
variables, statements, and keywords.</p></dd><dt><span class="term"><strong class="userinput"><code>Constant width bold</code></strong></span></dt><dd><p id="x_73d"><a name="x_73d"></a>Shows commands or other text that should be typed
|
|||
|
literally by the user.</p></dd><dt><span class="term"><em class="replaceable"><code>Constant width italic</code></em></span></dt><dd><p id="x_73e"><a name="x_73e"></a>Shows text that should be replaced with user-supplied
|
|||
|
values or by values determined by context.</p></dd></dl></div><div class="tip"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="/support/figs/tip.png"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p id="x_73f"><a name="x_73f"></a>This icon signifies a tip, suggestion, or general
|
|||
|
note.</p></td></tr></table></div><div class="caution"><table border="0" summary="Caution"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="/support/figs/caution.png"></td><th align="left">Caution</th></tr><tr><td align="left" valign="top"><p id="x_740"><a name="x_740"></a>This icon indicates a warning or caution.</p></td></tr></table></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both" id="id341884">Using Code Examples</h2></div></div></div><p id="x_741"><a name="x_741"></a>This book is here to help you get your job done. In general,
|
|||
|
you may use the code in this book in your programs and
|
|||
|
documentation. You do not need to contact us for permission
|
|||
|
unless you’re reproducing a significant portion of the code. For
|
|||
|
example, writing a program that uses several chunks of code from
|
|||
|
this book does not require permission. Selling or distributing a
|
|||
|
CD-ROM of examples from O’Reilly books does require permission.
|
|||
|
Answering a question by citing this book and quoting example
|
|||
|
code does not require permission. Incorporating a significant
|
|||
|
amount of example code from this book into your product’s
|
|||
|
documentation does require permission.</p><p id="x_742"><a name="x_742"></a>We appreciate, but do not require, attribution. An
|
|||
|
attribution usually includes the title, author, publisher, and
|
|||
|
ISBN. For example: “<span class="emphasis"><em>Book Title</em></span> by Some
|
|||
|
Author. Copyright 2008 O’Reilly Media, Inc.,
|
|||
|
978-0-596-xxxx-x.”</p><p id="x_743"><a name="x_743"></a>If you feel your use of code examples falls outside fair use
|
|||
|
or the permission given above, feel free to contact us at
|
|||
|
<code class="email"><<a class="email" href="mailto:permissions@oreilly.com">permissions@oreilly.com</a>></code>.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both" id="id297605">Safari® Books Online</h2></div></div></div><div class="note"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="/support/figs/note.png"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p id="x_744"><a name="x_744"></a>When you see a Safari® Books Online icon on the cover of
|
|||
|
your favorite technology book, that means the book is
|
|||
|
available online through the O’Reilly Network Safari
|
|||
|
Bookshelf.</p></td></tr></table></div><p id="x_745"><a name="x_745"></a>Safari offers a solution that’s better than e-books. It’s a
|
|||
|
virtual library that lets you easily search thousands of top
|
|||
|
tech books, cut and paste code samples, download chapters, and
|
|||
|
find quick answers when you need the most accurate, current
|
|||
|
information. Try it for free at <a class="ulink" href="http://my.safaribooksonline.com/?portal=oreilly" target="_top">http://my.safaribooksonline.com</a>.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both" id="id297646">How to Contact Us</h2></div></div></div><p id="x_746"><a name="x_746"></a>Please address comments and questions concerning this book
|
|||
|
to the publisher:</p><table class="simplelist" border="0" summary="Simple list"><tr><td>O’Reilly Media, Inc.</td></tr><tr><td>1005 Gravenstein Highway North</td></tr><tr><td>Sebastopol, CA 95472</td></tr><tr><td>800-998-9938 (in the United States or Canada)</td></tr><tr><td>707-829-0515 (international or local)</td></tr><tr><td>707 829-0104 (fax)</td></tr></table><p id="x_747"><a name="x_747"></a>We have a web page for this book, where we list errata,
|
|||
|
examples, and any additional information. You can access this
|
|||
|
page at:</p><table class="simplelist" border="0" summary="Simple list"><tr><td><a class="ulink" href="http://www.oreilly.com/catalog/<catalog%20%20%20%20page>" target="_top">http://www.oreilly.com/catalog/<catalog page></a></td></tr></table><p class="remark"><i><span class="remark">Don’t forget to update the <url> attribute,
|
|||
|
too.</span></i></p><p id="x_748"><a name="x_748"></a>To comment or ask technical questions about this book, send
|
|||
|
email to:</p><table class="simplelist" border="0" summary="Simple list"><tr><td><code class="email"><<a class="email" href="mailto:bookquestions@oreilly.com">bookquestions@oreilly.com</a>></code></td></tr></table><p id="x_749"><a name="x_749"></a>For more information about our books, conferences, Resource
|
|||
|
Centers, and the O’Reilly Network, see our web site at:</p><table class="simplelist" border="0" summary="Simple list"><tr><td><a class="ulink" href="http://www.oreilly.com" target="_top">http://www.oreilly.com</a></td></tr></table></div></div><div class="hgfooter"><p><img src="/support/figs/rss.png"> Want to stay up to date? Subscribe to the comment feed for <a id="chapterfeed" class="feed" href="/feeds/comments/">this chapter</a>, or the <a class="feed" href="/feeds/comments/">entire book</a>.</p><p>Copyright 2006, 2007, 2008, 2009 Bryan O'Sullivan.
|
|||
|
Icons by <a href="mailto:mattahan@gmail.com">Paul Davey</a> aka <a href="http://mattahan.deviantart.com/">Mattahan</a>.</p></div><div class="navfooter"><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="how-did-we-get-here.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Mercurial: The Definitive Guide </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 1. How did we get here?</td></tr></table></div><script type="text/javascript">
|
|||
|
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
|||
|
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
|||
|
</script><script type="text/javascript">
|
|||
|
try {
|
|||
|
var pageTracker = _gat._getTracker("UA-1805907-5");
|
|||
|
pageTracker._trackPageview();
|
|||
|
} catch(err) {}</script></body></html>
|