\chapter*{Prefacio}
\addcontentsline{toc}{chapter}{Prefacio}
\label{chap:preface}

El control distribuido de revisiones es un territorio relativamente 
nuevo, y ha crecido hasta ahora 
% TODO el original dice "due to", que sería "debido", pero creo que "gracias
% a" queda mejor 
gracias a  a la voluntad que tiene la gente de salir y explorar
territorios desconocidos.
% TODO revisar la frase anterior. me tomé muchas licencias para
% traducirla

Estoy escribiendo este libro acerca de control de revisiones
distribuido porque creo que es un tema importante que merece una guía
de campo. Escogí escribir acerca de Mercurial porque es la herramienta
%TODO puse explorar en vez de aprender, you be the judge dear reviewer ;)
más fácil para explorar el terreno, y sin embargo escala a las
demandas de retadores ambientes reales donde muchas otras herramientas
de control de revisiones fallan.

\section{Este libro es un trabajo en progreso}
Estoy liberando este libro mientras lo sigo escribiendo, con la
esperanza de que pueda ser útil a otros. También espero que los
lectores contribuirán como consideren adecuado.

\section{Acerca de los ejemplos en este libro}
Este libro toma un enfoque inusual hacia las muestras de código. Cada
ejemplo está ``en directo''---cada uno es realmente el resultado de un
% TODO shell script
script de shell que ejecuta los comandos de Mercurial que usted ve.
Cada vez que una copia del libro es construida desde su código fuente,
% TODO scripts
todos los scripts de ejemplo son ejecutados automáticamente, y sus
resultados actuales son comparados contra los resultados esperados.

La ventaja de este enfoque es que los ejemplos siempre son precisos;
ellos describen \emph{exactamente} el comportamiento de la versión de
Mercurial que es mencionada en la portada del libro. Si yo actualizo
la versión de Mercurial que estoy documentando, y la salida de algún
comando cambia, la construcción falla.

Hay una pequeña desventaja de este enfoque, que las fechas y horas que
usted verá en los ejemplos tienden a estar ``aplastadas'' juntas de una
forma que no sería posible si los mismos comandos fueran escritos por
un humano. Donde un humano puede emitir no más de un comando cada
pocos segundos, con cualquier marca de tiempo resultante
correspondientemente separada, mis scripts automatizados de ejemplos
ejecutan muchos comandos en un segundo.

% TODO commit
Como un ejemplo de esto, varios commits consecutivos en un ejemplo
pueden aparecer como habiendo ocurrido durante el mismo segundo. Usted
puede ver esto en el ejemplo \hgext{bisect} en la
sección~\ref{sec:undo:bisect}, por ejemplo.

Así que cuando usted lea los ejemplos, no le dé mucha importancia a
las fechas o horas que vea en las salidas de los comandos. Pero
\emph{tenga} confianza en que el comportamiento que está viendo es
consistente y reproducible.

\section{Colofón---este libro es Libre}
Este libro está licenciado bajo la Licencia de Publicación Abierta, y
es producido en su totalidad usando herramientas de Software Libre. Es
compuesto con \LaTeX{}; las ilustraciones son dibujadas y generadas
con \href{http://www.inkscape.org/}{Inkscape}.

El código fuente completo para este libro es publicado como un
repositorio Mercurial, en \url{http://hg.serpentine.com/mercurial/book}.

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "00book"
%%% End: 
